边缘相遇的OpenGL Skybox黑色三角形

时间:2014-08-12 18:29:01

标签: opengl skybox

我的天空盒边缘有黑色三角形。当我接近它们时它们会消失,当我用相机远离它们时会变大。我的问题可能在哪里?感谢

    mat4 VP = camera[currentCamera]->GetViewProjectionMatrix();
    glm::mat4 S = glm::scale(glm::mat4(1),glm::vec3(150.0, 150.0, 150.0));
    glm::mat4 MVP = VP*S;   
    skybox->Render(glm::value_ptr(MVP));

渲染功能是:

 void Renderable::Render(const GLfloat* MVP) 
{
    shader.Use();               
        glUniformMatrix4fv(shader("MVP"), 1, GL_FALSE, MVP);
        SetCustomUniforms();
        glBindVertexArray(vaoID);
            glDrawElements(primType, totalIndices, GL_UNSIGNED_INT, 0);
        glBindVertexArray(0);
    shader.UnUse();
}

enter image description here

1 个答案:

答案 0 :(得分:4)

看起来你的天空盒几何体正在被视锥体的远平面修剪。您应该增加到远平面的距离,这可能是您的相机类可配置的。