- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以仅使用 glVertexAttrib3f 调用在 OpenGL 4+ 中绘制?以下内容适用于旧版 OpenGL 模式,但当我切换到 OpenGL 4 时,什么也不会呈现。
glBegin(GL_TRIANGLES);
glVertexAttrib3f(1, 0, 0, -1);
glVertexAttrib3f(0, -0.5, -0.5, -0.5 );
glVertexAttrib3f(0, -0.5, 0.5, -0.5 );
glVertexAttrib3f(0, 0.5, 0.5, -0.5 );
glVertexAttrib3f(1, 0, 0, 1);
glVertexAttrib3f(0, 0.5, -0.5, 0.5 );
glVertexAttrib3f(0, 0.5, 0.5, 0.5 );
glVertexAttrib3f(0, -0.5, 0.5, 0.5 );
....
glEnd();
我想我应该去掉那些 glBegin() 和 glEnd() 函数,也许可以调用 glDrawArrays() 但还没有让它工作。
最佳答案
glBegin/glEnd 是已弃用的遗留功能,自版本 3.1 以来,它们不再是 OpenGL 核心配置文件的一部分。简而言之,不应再使用它们。尽管如此,如果你想使用它们,你可以,但在那种情况下你必须使用 compatibility profile在您的 OpenGL 上下文中,否则它们不受支持。
如果您使用 GLFW对于上下文和窗口创建,您可以在 context creation 处设置兼容性配置文件带有以下提示:
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE);
我强烈推荐以下教程网站
了解现代 OpenGL 功能和用法。
关于c++ - OpenGL 4 : Draw with glVertexAttrib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32556385/
对于我的着色器,我不想为所有绘制调用启用所有属性。例如,在一次绘制调用中,我想为存储在顶点缓冲区中的每个顶点使用不同的颜色。所以我使用 glEnableVertexAttribArray 和 glVe
我正在通读并尝试学习着色器,但我突然对将信息传递到着色器感到困惑。 glVertexAttrib 和 glVertexAttribPointer 有什么区别?有不同的时间使用它们吗?它们只是做同一件事
我目前正在将着色器系统添加到我的项目中,但遇到了一些障碍,我希望有人能够解决。我的项目是用 Java 编写的,使用 LWJGL 库,并以 OpenGL 2.1 为目标。 根据我的理解,使用glVert
经过大量搜索,我仍然对 glVertexAttrib... 函数(glVertexAttrib1d、glVertexAttrib1f 等)感到困惑做什么以及他们的目的是什么。 我目前的阅读理解this
经过大量搜索,我仍然对 glVertexAttrib... 函数(glVertexAttrib1d、glVertexAttrib1f 等)感到困惑做什么以及他们的目的是什么。 我目前的阅读理解this
是否可以仅使用 glVertexAttrib3f 调用在 OpenGL 4+ 中绘制?以下内容适用于旧版 OpenGL 模式,但当我切换到 OpenGL 4 时,什么也不会呈现。 glBegin(GL
我了解 glVertexAttribPointer将根据指向的数组设置顶点属性的值。什么是glVertexAttrib不过,为了?看起来它只是为顶点属性设置了一个(可能是矢量)值,那么当你有多个顶点时
我希望能够为 D3D11 中的一个顶点属性设置一个常量值。 在 D3D11 中,以下代码等效于什么? glVertexAttribPointer(pos, &pos[0], ...); glEnabl
我是一名优秀的程序员,十分优秀!