当前位置: 首页>>代码示例>>C++>>正文


C++ Pipeline::SetPerspective方法代码示例

本文整理汇总了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;
}
开发者ID:gcbsumid,项目名称:Graphics-Assignments,代码行数:31,代码来源:Skybox.cpp


注:本文中的Pipeline::SetPerspective方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。