最近小弟想趁寒假结束以前,试着做一些简易的封装。可是在设计上碰到了一些问题,
想请教各位大大。
就是关于Shader的部分,在DirectX里面,每个Shader都是可以独自成一个个体,最后
依照使用状况不同,互相排列绑在管线上面。
可是在OpenGL里面,在4.1之前,Shader都不支援这种混合运用,非得要把每个阶段的
Shader都绑在Program上面以后,以Program为单位去使用。
我的问题就在这边,我目前采用的绘图API是以OpenGL为准,不排除以后加入DirectX
的可能性。但这边就出现一些分歧的地方,就是我不知道该怎么设计这边的关系。
我想让使用者可以自行决定Shader的绑定,可是在OpenGL里面,单是要查询uniform
block这种动作也非得透过Program才行。
想请问各位大大,有没有什么比较好的方法可以使用?我目前是尽量不想要再设计一
个Program类@@(因为DirectX很显然不需要这个类)