我一直在尝试学习OpenGL,特别是针对Android。我在网上看过各种教程,我注意到OpenGL 1.0或1.2的许多教程都不需要编译着色器程序,而我能找到的唯一可用于OpenGL 2.0的教程都涉及创建一个自定义着色器来渲染形状。图。
使用字符串来保存代码(GLSL)然后在运行时编译和链接此代码的过程感觉很麻烦(甚至是hacky)。这是必要的,因为GPU架构可能差别很大吗?
有没有办法使用某种不需要此步骤的默认着色器(如内置着色器)?我只想绘制GL_POINTS,GL_LINES等原语
答案 0 :(得分:3)
这是必要的,因为GPU架构可能差异很大吗?
确实是的,虽然已经提到过着色版本的着色器,但它并没有就它应该是什么样子达成适当的共识。
您可以使用glShaderBinary在先前的运行中预编译着色器并重用已编译的输出。