opengl固定管线与着色器是否可以同时用在一个程序中?
遇到一个问题,在程序中有些绘制用的是固定管线的命令,现在想加一个shader效果,我用glUseProgram()在着色器程序与固定管线间切换,但是没能实现,要么只显示固定管线的 , 要么就显示着色器的,求解~~~
[解决办法]
opengl没搞过。不过direct3d里,shader是替代固定渲染管线的顶点和像素部分的。比如如果使用顶点shader,那么顶点光照部分就不用用固定管线的了,光照算法要自己用shader写。
[解决办法]
在同一帧中,对于同一个图元或模型来讲,要么用shader,要么用固定管线;但是可以用shader绘制一个模型,再用固定管线绘制另一个模型(先调用glUseProgram(0))。
如果要用shader和固定管线同时处理一个模型的话,就要用到FBO等技术。
你描述的自己的问题不太清楚,无法针对性回答。