osg默认支持的着色器文件后缀:
supportsExtension("gl","OpenGL Shader Language format");
supportsExtension("frag","OpenGL Shader Language format");
supportsExtension("vert","OpenGL Shader Language format");
supportsExtension("geom","OpenGL Shader Language format");
supportsExtension("glsl","OpenGL Shader Language format");
supportsExtension("tctrl","OpenGL Shader Language format");
supportsExtension("teval","OpenGL Shader Language format");
supportsExtension("compute","OpenGL Shader Language format");
supportsExtension("cs","OpenGL Shader Language format");
supportsExtension("gs","OpenGL Shader Language format");
supportsExtension("vs","OpenGL Shader Language format");
supportsExtension("fs","OpenGL Shader Language format");
着色器文件读取:形式一与形式二是等价的,osg文件解析插件会根据文件后缀自动判断它的着色器类型
osg::ref_ptr<osg::Program> program = new osg::Program;
//形式一
program->addShader(osgDB::readRefShaderFile(osg::Shader::VERTEX, "glsl/height_calculation.vert"));
//形式二
program->addShader(osgDB::readRefShaderFile("glsl/height_calculation.vert"));