首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL 3.1-4.1新特性和过时特性

OpenGL 3.1-4.1新特性和过时特性
EN

Stack Overflow用户
提问于 2010-12-02 03:08:55
回答 1查看 2K关注 0票数 14

我已经使用OpenGL大约一年了,学到了很多东西。不幸的是,我学习它的方式是老的pre 3.x方式,意味着即时模式,默认着色器,矩阵堆栈,等等。通过查看OpenGL规范,我或多或少知道了从那时到现在发生了什么变化,但是我并不完全理解一些新的方法。

据我所知,他们去掉了矩阵堆栈,这意味着你必须跟踪你自己的转换矩阵,这看起来并不太复杂。他们还摆脱了即时模式,这意味着你现在需要使用VBOs或VAOs (永远不知道是哪一个,也许两者都是)。将像素/法线/纹理等信息发送到着色器程序。我真的不明白这些对象的工作方式,我认为你需要把所有的信息都放进去,并提供一些ofset来显示像素,法线和纹理坐标之间的分隔符。有人能简要解释一下这是如何工作的吗(或者给我一个解释它的链接)?我尝试了维基百科,并用谷歌搜索了一下,但发现自己仍然不太理解它们。

另一点我想知道更多的是着色器,因为我从来没有用过它们。我不会问如何对它们进行编码或任何事情,只是需要做什么和opengl仍然为您做什么。更具体地说,你需要在着色器中做什么才能得到一个基本的渲染程序?我知道你需要做所有的线条计算,并使用你的矩阵来计算真实的顶点位置。但是opengl是否仍然负责背面剔除,线裁剪,多边形填充和其他较低级别的问题,或者你必须自己将它们编码到着色器中(或者它们甚至不属于着色器)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-02 03:58:44

由于立即模式已被弃用,因此做一个"hello三角形“应用程序会更复杂一些。这里有一个关于现代OpenGL的很好的教程:

http://arcsynthesis.org/gltut/

你应该通读一遍。请记住,它不使用VAOs,因此您以后必须在其他地方阅读有关它的信息。VAOs不会改变太多东西,所以你不需要忘记前面提到的教程中的东西就可以使用它们。

关于你的第二个问题...您的顶点着色器将由OpenGL为每个顶点执行。你的工作是计算顶点的最终位置并准备数据(如法线,灯光数据...)要发送到片段着色器,给定顶点的属性和发送到着色器的其他数据(制服-您将在教程中了解它)。片段着色器将针对每个片段执行,并且在片段着色器中计算每个片段的最终颜色。

你可以在这里看到:

http://www.opengl.org/sdk/docs/man4/

像glPolygonMode和glCullFace这样的东西仍然存在。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4328078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档