Beispiel #1
0
void CameraSetup(GLuint program, const Camera &camera)
{
	static GLint viewProjectionLocation = glGetUniformLocation(program, "transform.viewProjection");
	// расчитаем необходимые матрицы

	mat4 view           = GLRotation(camera.rotation) * GLTranslation(-camera.position);
	/*mat4 view = mat4(-0.707107,
					-0.408248,
					-0.57735,
					0,
					0,
					0.816497,
					-0.57735,
					0,
					0.707107,
					-0.408248,
					-0.57735,
					0,
					0,
					0,
					-1.73205,
					1
				);*/


	mat4 viewProjection = camera.projection * view;
	// передаем матрицы в шейдерную программу
	glUniformMatrix4fv(viewProjectionLocation, 1, GL_TRUE, viewProjection.m);
}
Beispiel #2
0
math::Matrix4 Mesh::getModelMatrix(){
    return GLTranslation(this->Position) * math::Matrix4(this->Rotation);
}