在OpenGL中使用可编程和固定管道功能

时间:2010-11-22 14:00:13

标签: opengl glsl

我有一个顶点着色器可以转换顶点以创建鱼眼效果。是否可以只使用顶点着色器并使用固定管道作为片段部分。

所以基本上我有一个不使用着色器的应用程序。我想使用顶点着色器来渲染所有顶点,然后将它留给应用程序来照亮照明,纹理等,以应用鱼眼效果?

如果不可能,可以通过搞乱gl back缓冲区的内容来获得鱼眼效果吗?

由于

2 个答案:

答案 0 :(得分:3)

如果您的代码是固定功能,那么您所描述的是一个问题 - 这就是为什么在着色器中使用图形代码是好的:它们可以让您轻松更改任何内容。记得在下一个项目中使用它们。 :)

好的,但是对于这个特殊情况,我假设您现在不想将整个渲染从头开始重写为着色器......

你提到你想要一个“鱼眼效果”。好像你很幸运,因为我相信你不需要着色器来实现这种效果!如果我们谈论相同的效果,那么只需将GLGLROJECTION矩阵从OpenGL的固定函数替换为具有更宽视角的透视矩阵即可实现。

答案 1 :(得分:1)

是的,有可能,有些卡(特别是ATI)不支持在没有片段着色器的情况下使用顶点着色器。