opengl – 什么时候编译着色器好?

我正试图进入’现代’OpenGL.我想我到目前为止理解着色器的概念并且我知道如何编译它们,但是我不确定什么时候这样做很好.

是否可以在应用程序启动时编译所有着色器的函数,将它们存储在某种管理器中,这将为当前需要的着色器提供服务?

或者也许我应该在需要时编译它们,下次需要它们时才使用我已创建的那个?

我认为每帧创建一个着色器程序并不是一个好主意.

我很感激有关如何以一种好的方式组织它的任何提示.

最佳答案

Is it ok to have a function that would compile all shaders at the application start up, store them in some kind of manager, which would serve currently needed shader?

是.这是可以被视为OpenGL“初始化”的那些一次性初始化事件之一.

点赞