57 lines
1.8 KiB
C++
57 lines
1.8 KiB
C++
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// headers needed:
|
|
//
|
|
#include <ACGL/Math/Math.hh>
|
|
#include <ACGL/OpenGL/GL.hh>
|
|
|
|
#include <GLFW/glfw3.h>
|
|
#include <ACGL/OpenGL/Objects/ArrayBuffer.hh>
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// implement the following functions:
|
|
//
|
|
|
|
// global variables exported by the generic main:
|
|
extern glm::uvec2 g_windowSize;
|
|
extern float g_nearPlane;
|
|
extern float g_farPlane;
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// implement the following functions:
|
|
//
|
|
|
|
// gets called after the OpenGL window is prepared, init of example specific stuff:
|
|
void initCustomResources();
|
|
|
|
// gets called at application shutdown:
|
|
void deleteCustomResources();
|
|
|
|
// gets called ech frame, runTime is in seconds:
|
|
void draw( float runTime );
|
|
|
|
// gets called at window resize:
|
|
void resizeCallback( GLFWwindow *, int newWidth, int newHeight );
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// useful functions:
|
|
//
|
|
|
|
// to build the projection matrix:
|
|
glm::mat4 buildFrustum( float phiInDegree, float near, float far, float aspectRatio);
|
|
|
|
// to build the view matrix:
|
|
glm::mat4 lookAt(const glm::vec3 &camPos, const glm::vec3 &viewDirection, const glm::vec3 &up);
|
|
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|