/////////////////////////////////////////////////////////////////////////////////////////////////// // // headers needed: // #include #include #include #include // /////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// // // 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); // ///////////////////////////////////////////////////////////////////////////////////////////////////