Using both programmable and fixed pipeline functionality in OpenGL

五迷三道 提交于 2019-12-10 15:37:24

问题


I have a vertex shader that transforms vertices to create a fisheye affect. Is is possible to just use just the vertex shader and use fixed pipeline for the fragment portion.

So basically i have an application that doesnt use shaders. I want to apply a fisheye affect using a vertex shader to transform all vertices, and then leave it to the application to take care to lighting, texturing, etc?

If this is not possible, is it possible to get a fisheye affect by messing with the contents of the gl back buffer?

Thanks


回答1:


If your code is on fixed function, then what you described is a problem - that's why having your graphics code in shaders is good: they let you change anything easily. Remember to use them in your next project. :)

OK, but for this particular I assume that you don't want to rewrite your whole rendering from scratch to shaders now...

You mentioned you want to have a "fisheye effect". Seems like you're lucky, because I believe you don't need shaders for that effect! If we're talking about the same effect, then you can achieve it just by replacing the GL_PROJECTION matrix from OpenGL's fixed function to a perspective matrix with a wider angle of vision.




回答2:


Yes, it's possible, altough some cards (notably ATI) don't support using a vertex shader without a fragment shader.



来源:https://stackoverflow.com/questions/4246143/using-both-programmable-and-fixed-pipeline-functionality-in-opengl

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!