顶点着色器与顶点

时间:2011-07-06 21:31:21

标签: ios opengl-es

我有一个问题 - 我正在从这个tutorial学习OpenGL ES 2.0并在这个网站上移动,我已经构建了一个漂亮的app,带有旋转多边形。 我找到了另一个guide,他使用了顶点着色器。它们之间有什么区别。我还可以用着色器制作什么?

3 个答案:

答案 0 :(得分:6)

不同之处在于第一个教程使用OpenGL ES 1.1,第二个教程使用OpenGL ES 2.0。 1.1使用固定功能管道来完成所有渲染,而2.0只使用着色器。

所有这些矩阵函数? glLoadIdentity,glFrustum,glRotate?他们在2.0中走了。相反,你编写一个在GPU本身上执行的程序(着色器)。负责转换顶点位置的着色器称为“顶点着色器”。

因此顶点着色器用更灵活,用户驱动的计算系统替换所有自动矩阵变换。

答案 1 :(得分:1)

简而言之,OpenGL ES 1.1(更容易)进入,而OpenGL ES 2.0更灵活,可能更快。在1.1中有一些你不能做的事情。

OpenGL ES 1.1和2.0完全互不兼容,所以明智地选择。

有更多的材料要学习1.1而不是2.0。

答案 2 :(得分:0)

根据我的理解,顶点是渲染的3D物体上的点的表示,而顶点着色器是在渲染之前临时修改顶点的方法。顶点着色器在您的视频卡(gpu)上运行,因此您可以并行执行许多操作(例如,在场景中的所有顶点上执行相同的功能) - 这会给您的CPU带来很多负担。