void RenderPhase(){ glDrawBuffer(GL_BACK); glReadBuffer(GL_BACK); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); static float Scale = 0.0f; Scale += 0.0f; Pipeline p; p.Rotate(0.0f, Scale, 0.0f); p.WorldPos(0.0f, -0.0f, 3.0f); p.SetCamera(m_pGameCamera->GetPos(), m_pGameCamera->GetTarget(), m_pGameCamera->GetUp()); p.SetPerspectiveProj(60.0f, WINDOW_WIDTH, WINDOW_HEIGHT, 1.0f, 100.0f); m_pEffect->SetWVP(p.GetTrans()); m_pEffect->SetDirectionalLight(m_directionalLight); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); if(stereo == true){ glColorMask(GL_FALSE,GL_TRUE,GL_TRUE,GL_TRUE); } glBindBuffer(GL_ARRAY_BUFFER, m_VBO); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), 0); glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (const GLvoid*)12); glDrawArrays(GL_POINTS,0, m_oManager.sector.numberOfPoints); glDrawArrays(GL_LINES, m_oManager.sector.numberOfPoints, m_oManager.sector.numberOfLines*2); glDrawArrays(GL_TRIANGLES, m_oManager.sector.numberOfPoints+m_oManager.sector.numberOfLines*2, m_oManager.sector.numberOfTriangles*3); glDrawBuffer(GL_BACK); if(stereo == true){ m_pGameCamera->rightEye(m_horoptor); p.SetCamera(m_pGameCamera->GetPos(), m_pGameCamera->GetTarget(), m_pGameCamera->GetUp()); p.SetPerspectiveProj(60.0f, WINDOW_WIDTH, WINDOW_HEIGHT, 1.0f, 100.0f); m_pEffect->SetWVP(p.GetTrans()); m_pEffect->SetDirectionalLight(m_directionalLight); glColorMask(GL_TRUE,GL_FALSE,GL_FALSE,GL_TRUE); glDrawArrays(GL_POINTS,0, m_oManager.sector.numberOfPoints); glDrawArrays(GL_LINES, m_oManager.sector.numberOfPoints, m_oManager.sector.numberOfLines*2); glDrawArrays(GL_TRIANGLES, m_oManager.sector.numberOfPoints+m_oManager.sector.numberOfLines*2, m_oManager.sector.numberOfTriangles*3); glColorMask(GL_TRUE,GL_TRUE,GL_TRUE,GL_TRUE); m_pGameCamera->leftEye(m_horoptor); } glDisableVertexAttribArray(0); glDisableVertexAttribArray(1); }
static void RenderSceneCB() { glClear(GL_COLOR_BUFFER_BIT); static float Scale = 0.0f; Scale += 0.1f; Pipeline p; p.Rotate(0.0f, Scale, 0.0f); p.WorldPos(0.0f, 0.0f, 3.0f); Vector3f CameraPos(0.0f, 0.0f, -3.0f); Vector3f CameraTarget(0.0f, 0.0f, 2.0f); Vector3f CameraUp(0.0f, 1.0f, 0.0f); p.SetCamera(CameraPos, CameraTarget, CameraUp); p.SetPerspectiveProj(60.0f, WINDOW_WIDTH, WINDOW_HEIGHT, 1.0f, 100.0f); glUniformMatrix4fv(gWVPLocation, 1, GL_TRUE, (const GLfloat*)p.GetTrans()); glEnableVertexAttribArray(0); glBindBuffer(GL_ARRAY_BUFFER, VBO); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO); glDrawElements(GL_TRIANGLES, 12, GL_UNSIGNED_INT, 0); glDisableVertexAttribArray(0); glutSwapBuffers(); }
void Bone::Draw(){ glClear(GL_DEPTH_BUFFER_BIT); Pipeline p; p.Scale(1.0f,1.0f, 1.0f); p.WorldPos(x, y, 0.0f); p.Rotate(0.0f, 0.0f, a); glUniformMatrix4fv(Shader::gWorldLocation, 1, GL_TRUE, (const GLfloat*)p.GetTrans()); glEnableVertexAttribArray(0); glBindBuffer(GL_ARRAY_BUFFER, VBO); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); glDisableVertexAttribArray(0); for(std::vector<Bone*>::iterator it = child->begin(); it != child->end(); it++){ (*it)->Draw(); } }
virtual void RenderSceneCB() { m_pGameCamera->OnRender(); glClear(GL_COLOR_BUFFER_BIT); m_scale += 0.1f; Pipeline p; p.Rotate(0.0f, m_scale, 0.0f); p.WorldPos(0.0f, 0.0f, 3.0f); p.SetCamera(m_pGameCamera->GetPos(), m_pGameCamera->GetTarget(), m_pGameCamera->GetUp()); p.SetPerspectiveProj(60.0f, WINDOW_WIDTH, WINDOW_HEIGHT, 1.0f, 100.0f); m_pEffect->SetWVP(p.GetTrans()); m_pEffect->SetDirectionalLight(m_directionalLight); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); glBindBuffer(GL_ARRAY_BUFFER, m_VBO); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), 0); glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), (const GLvoid*)12); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_IBO); m_pTexture->Bind(GL_TEXTURE0); glDrawElements(GL_TRIANGLES, 12, GL_UNSIGNED_INT, 0); glDisableVertexAttribArray(0); glDisableVertexAttribArray(1); glutSwapBuffers(); }
static void RenderSceneCB() { glClear(GL_COLOR_BUFFER_BIT); static float Scale = 0.0f; Scale += 0.001f; Pipeline p; p.Scale(sinf(Scale * 0.1f), sinf(Scale * 0.1f), sinf(Scale * 0.1f)); p.WorldPos(sinf(Scale), 0.0f, 0.0f); p.Rotate(sinf(Scale) * 90.0f, sinf(Scale) * 90.0f, sinf(Scale) * 90.0f); glUniformMatrix4fv(gWorldLocation, 1, GL_TRUE, (const GLfloat*)p.GetTrans()); glEnableVertexAttribArray(0); glBindBuffer(GL_ARRAY_BUFFER, VBO); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO); glDrawElements(GL_TRIANGLES, 12, GL_UNSIGNED_INT, 0); glDisableVertexAttribArray(0); glutSwapBuffers(); }
static void RenderSceneCB() { pGameCamera->OnRender(); glClear(GL_COLOR_BUFFER_BIT); static float Scale = 0.0f; Scale += 0.1f; Pipeline p; p.Rotate(0.0f, Scale, 0.0f); p.WorldPos(0.0f, 0.0f, 3.0f); p.SetCamera(pGameCamera->GetPos(), pGameCamera->GetTarget(), pGameCamera->GetUp()); p.SetPerspectiveProj(60.0f, WINDOW_WIDTH, WINDOW_HEIGHT, 1.0f, 100.0f); glUniformMatrix4fv(gWVPLocation, 1, GL_TRUE, (const GLfloat*)p.GetTrans()); glEnableVertexAttribArray(0); glEnableVertexAttribArray(1); glBindBuffer(GL_ARRAY_BUFFER, VBO); glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), 0); glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), (const GLvoid*)12); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO); pTexture->Bind(GL_TEXTURE0); glDrawElements(GL_TRIANGLES, 12, GL_UNSIGNED_INT, 0); glDisableVertexAttribArray(0); glDisableVertexAttribArray(1); glutSwapBuffers(); }
void Scene::render() { // Efface le tampon d'affichage glClear(GL_COLOR_BUFFER_BIT); static float Scale = 0.0f; Scale += 0.5f; Pipeline p; p.Rotate(0.0f, Scale, 0.0f); p.WorldPos(0.0f, 0.0f, 0.0f); p.SetPerspectiveProj(75.0f, 800.0f, 600.0f, 1.0f, 100.0f); QVector3D CameraPos(0.0f, 0.0f, 1.1f); QVector3D CameraTarget(0.0f, 0.0f, 1.0f); QVector3D CameraUp(0.0f, 1.0f, 0.0f); p.SetCamera(CameraPos, CameraTarget, CameraUp); m_shaderProgram.bind(); m_shaderProgram.setUniformValue("gWVP", p.GetTrans()); glDrawElements(GL_LINE_STRIP, m_indices.size(), GL_UNSIGNED_INT, 0); }