我正试图进入'现代'OpenGL。我想到目前为止我理解shader
的概念并且我知道如何编译它们,但我不确定什么时候这样做很好。
是否可以在应用程序启动时编译一个可以编译所有shader
的函数,将它们存储在某种类型的管理器中,这将管理当前需要的shader
?
或者也许我应该在需要时编译它们,下次需要它们时才使用我已创建的那个?
我认为每帧创建一个shader program
并不是一个好主意。
我很感激有关如何以良好方式组织它的任何提示。
答案 0 :(得分:2)
是否可以在应用程序启动时编译所有着色器的函数,将它们存储在某种类型的管理器中,这将为当前需要的着色器提供服务?
是。这是可以被视为OpenGL“初始化”的那些一次性初始化事件之一。