我有一个顶点着色器,可以转换顶点以创建鱼眼效果。是否可以只使用顶点着色器并为片段部分使用固定管道。
所以基本上我有一个不使用着色器的应用程序。我想使用顶点着色器应用鱼眼效果来转换所有顶点,然后将其留给应用程序来处理照明、纹理等?
如果这是不可能的,是否有可能通过弄乱 gl 后台缓冲区的内容来获得鱼眼效果?
谢谢
最佳答案
如果您的代码具有固定功能,那么您所描述的就是一个问题 - 这就是为什么在着色器中使用图形代码是好的原因:它们让您可以轻松更改任何内容。请记住在您的下一个项目中使用它们。 :)
好的,但是对于这个特殊情况,我假设您现在不想从头开始将整个渲染重写为着色器......
你提到你想要一个“鱼眼效应”。看来你很幸运,因为我相信你这种效果不需要着色器 !如果我们说的是同样的效果,那么你只要把OpenGL的固定函数中的GL_PROJECTION矩阵换成视角更广的透视矩阵就可以实现了。
关于opengl - 在 OpenGL 中同时使用可编程和固定管道功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4246143/