void AmjuGLOpenGLES2::LookAt(float eyeX, float eyeY, float eyeZ, float x, float y, float z, float upX, float upY, float upZ) { AMJU_CALL_STACK; s_eyePos = AmjuGL::Vec3(eyeX, eyeY, eyeZ); // Expect current matrix mode to be mview s_matrices[AmjuGL::AMJU_MODELVIEW_MATRIX] = GLKMatrix4Multiply( s_matrices[AmjuGL::AMJU_MODELVIEW_MATRIX], GLKMatrix4MakeLookAt(eyeX, eyeY, eyeZ, x, y, z, upX, upY, upZ)); }
void RenderSystem::render(VertexBuffer *vertexBuffer) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glUseProgram(vertexBuffer->getShader()->getProgramHandle()); glLoadIdentity(); GLKMatrix4MakeLookAt(3.0f, 2.0f, -5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); glUniform4f((vertexBuffer->getShader())->get_uColor(), 1.0, 0.0, 0.0, 1.0); vertexBuffer->configureVertexAttributes(); vertexBuffer->renderVertexBuffer(); glfwSwapBuffers(_window); glfwPollEvents(); }
void Camera::update_view() { viewMatrix_ = GLKMatrix4MakeLookAt(position_.x, position_.y, position_.z, focus_.x, focus_.y, focus_.z, up_.x, up_.y, up_.z); }