本文整理汇总了C++中Pipeline::GetTrans方法的典型用法代码示例。如果您正苦于以下问题:C++ Pipeline::GetTrans方法的具体用法?C++ Pipeline::GetTrans怎么用?C++ Pipeline::GetTrans使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pipeline
的用法示例。
在下文中一共展示了Pipeline::GetTrans方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RenderPhase
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);
}
示例2: RenderSceneCB
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();
}
示例3: Draw
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();
}
}
示例4: RenderSceneCB
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();
}
示例5: RenderSceneCB
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();
}
示例6: render
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);
}