本文整理汇总了C++中Pipeline::SetPerspective方法的典型用法代码示例。如果您正苦于以下问题:C++ Pipeline::SetPerspective方法的具体用法?C++ Pipeline::SetPerspective怎么用?C++ Pipeline::SetPerspective使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pipeline
的用法示例。
在下文中一共展示了Pipeline::SetPerspective方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Render
bool Skybox::Render() {
mSkyboxTech->Enable();
GLint OldCullFaceMode;
glGetIntegerv(GL_CULL_FACE_MODE, &OldCullFaceMode);
GLint OldDepthFuncMode;
glGetIntegerv(GL_DEPTH_FUNC, &OldDepthFuncMode);
glCullFace(GL_FRONT);
glDepthFunc(GL_LEQUAL);
auto camera = mCamera.lock();
Pipeline pipeline;
// pipeline.SetPerspective(glm::transpose(camera->GetGLMPerspMatrix()));
pipeline.SetPerspective(camera->GetPerspMatrix());
pipeline.SetCamera(camera->GetPos(), camera->Forward(), camera->Up());
const glm::mat4 transform = glm::transpose(GetTransform());
mSkyboxTech->SetTextureUnit(0);
mSkyboxTech->SetWVP(pipeline.GetWVPTrans(transform));
mCubemapTexture->Bind(mSkyboxTech->GetProgram());
mSkyboxMesh->Render(mSkyboxTech->GetProgram());
mCubemapTexture->Unbind();
glCullFace(OldCullFaceMode);
glDepthFunc(OldDepthFuncMode);
return true;
}