标签: c++ opengl glsl
假设我有大约20种不同的3D模型(例如汽车,另一种车型,房屋等)。
其中一些模型使用3种着色器(因此我有6个着色器,因为每个着色器都有顶点和片段着色器)。这意味着我有3种不同的OpenGL GLSL程序。
我所做的是每个3D模型实例创建一个缓冲区。对于每个缓冲区,我创建了一个GLSL程序的实例。我想知道这是否是一件好事,因为有些模型正在使用相同的GLSL程序。
我必须像这样工作,因为我创建了一些封装OpenGL API的C ++类。
你能告诉我这是不是一个好的选择?