GLUSvoid reshape(GLUSint width, GLUSint height) { GLfloat projectionMatrix[16]; glViewport(0, 0, width, height); // glusPerspectivef(projectionMatrix, 40.0f, (GLfloat) width / (GLfloat) height, 1.0f, 100.0f); glUseProgram(g_program.program); glUniformMatrix4fv(g_projectionMatrixLocation, 1, GL_FALSE, projectionMatrix); glUseProgram(g_programShadowVolume.program); glUniformMatrix4fv(g_projectionMatrixShadowVolumeLocation, 1, GL_FALSE, projectionMatrix); }
GLUSvoid reshape(GLUSint width, GLUSint height) { GLfloat modelMatrix[16]; GLfloat modelViewMatrix[16]; GLfloat normalMatrix[9]; GLfloat lightDirection[3]; g_width = width; g_height = height; reshapeWavefront(width, height); // glViewport(0, 0, width, height); glusPerspectivef(g_viewProjectionMatrix, 40.0f, (GLfloat) width / (GLfloat) height, 1.0f, 100.0f); glusMatrix4x4Multiplyf(g_viewProjectionMatrix, g_viewProjectionMatrix, g_viewMatrix); glUseProgram(g_program.program); glUniformMatrix4fv(g_viewProjectionMatrixLocation, 1, GL_FALSE, g_viewProjectionMatrix); glusMatrix4x4Identityf(modelMatrix); glusMatrix4x4Translatef(modelMatrix, 0.0f, 0.0f, 3.0f); glusMatrix4x4RotateRxf(modelMatrix, -90.0f); glUniformMatrix4fv(g_modelMatrixLocation, 1, GL_FALSE, modelMatrix); // Calculation is in camera space glusMatrix4x4Multiplyf(modelViewMatrix, g_viewMatrix, modelMatrix); glusMatrix4x4ExtractMatrix3x3f(normalMatrix, modelViewMatrix); glUniformMatrix3fv(g_normalMatrixLocation, 1, GL_FALSE, normalMatrix); glusMatrix4x4MultiplyVector3f(lightDirection, g_viewMatrix, g_light.direction); // Direction already normalized glUniform3fv(g_lightDirectionLocation, 1, lightDirection); }
/** * Function is called, if the window is resized. * * @param w width of the window * @param h height of the window */ GLUSvoid reshape(GLUSuint width, GLUSuint height) { // http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/viewport.html glViewport(0, 0, width, height); // Calculate the projection matrix and set it glusPerspectivef(g_projection, 40.0f, (GLfloat) width / (GLfloat) height, 1.0f, 1000.0f); // http://www.opengl.org/sdk/docs/man/xhtml/glUseProgram.xml glUseProgram(g_programBackground.program); // http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml glUniformMatrix4fv(g_projectionLocationBackground, 1, GL_FALSE, g_projection); // http://www.opengl.org/sdk/docs/man/xhtml/glUseProgram.xml glUseProgram(g_program.program); // http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml glUniformMatrix4fv(g_projectionLocation, 1, GL_FALSE, g_projection); // Call the resahpe of the texture reshapeTexture(width, height); }
GLUSvoid reshape(GLUSint width, GLUSint height) { glViewport(0, 0, width, height); glusPerspectivef(g_projectionMatrix, 40.0f, (GLfloat) width / (GLfloat) height, 1.0f, 100.0f); }