Cg 和 OpenGL 3
我目前正在学习 OpenGL 2 和 3 之间的差异,我注意到许多函数,例如 glVertex
、glVertexPointer
、glColor
、glColorPointer
等都消失了。
我习惯使用Cg来处理着色器。例如,我会编写这个简单的顶点着色器:
void main(in inPos : POSITION, out outPos : POSITION) {
outPos = inPos;
}
然后我会使用 glVertex
或 glVertexPointer
来设置 inPos
的值。
但由于 OpenGL 3 中不再提供这些函数,您应该如何进行绑定呢?
I'm currently learning the differences between OpenGL 2 and 3, and I noticed that many functions like glVertex
, glVertexPointer
, glColor
, glColorPointer
, etc. have disappeared.
I'm used to using Cg to handle shaders. For example I'd write this simple vertex shader:
void main(in inPos : POSITION, out outPos : POSITION) {
outPos = inPos;
}
And then I'd use either glVertex
or glVertexPointer
to set the values of inPos
.
But since these functions are no longer available in OpenGL 3, how are you supposed to do the bindings?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,我建议您查看的答案这个问题:OpenGL 3.x 有什么不同?
其次,Norbert Nopper 有很多关于使用 OpenGL 3 和 GLSL 的示例 这里
最后,这是一个简单的 GLSL 示例,它向您展示了如何绑定顶点着色器程序和片段着色器程序。
First I'll recommend you to take a look at the answer to this question: What's so different about OpenGL 3.x?
Secondly, Norbert Nopper has lots of examples on using OpenGL 3 and GLSL here
Finally here's a simple GLSL example which shows you how to bind both a vertex and a fragment shader program.