gpt4 book ai didi

c++ - 不正确的 OpenGL 缠绕

转载 作者:行者123 更新时间:2023-11-30 01:13:46 25 4
gpt4 key购买 nike

初始化 OpenGL 时,我设置如下:

glEnable(GL_CULL_FACE);
glFrontFace(GL_CCW);
glCullFace(GL_FRONT);

然后,我在屏幕上画了一个三角形。这就是我所做的,真的。但是 OpenGL 总是使用与我使用 glFrontFace 指定的相反的缠绕类型。

三角形的顶点定义如下:

static GLfloat TRIANGLE[] = {
0.0f, 0.5f, 0.0f, // Point 1 on image
-0.5f, -0.5f, 0.0f, // Point 2
0.5f, -0.5f, 0.0f, // Point 3
};

您可以在下图中看到结果:

enter image description here

我期望的是 GL_CCW 绘制三角形而 CL_CW 不绘制。但情况恰恰相反。

我的透视图和 View 矩阵是正确的。是什么导致了这个问题?

最佳答案

glCullFace 指定哪一侧被剔除,而不是绘制哪一侧。因此,当您的三角形以 CCW 顺序给出并且您按照您的方式启用所有内容时,正面(CCW 面)将被剔除并且不会绘制任何内容。

关于c++ - 不正确的 OpenGL 缠绕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31292026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com