OSG 的例子中, 使用GL3 的CMake配置说明

/*
 * Add the path to <GL3/gl3.h> to the CMake compiler flags, CMAKE_CXX_FLAGS and
   CMAKE_CXX_FLAGS_DEBUG (for release and debug builds; others if you use other
   build configurations). The text to add should look something like this:
     /I 揅:\GLHeader?   The folder GLHeader should contain a subfolder GL3, which in turn contains
   gl3.h.

 * Enable the following CMake variable:
     OSG_GL3_AVAILABLE

 * Disable the following CMake variables:
     OSG_GL1_AVAILABLE
     OSG_GL2_AVAILABLE
     OSG_GLES1_AVAILABLE
     OSG_GLES2_AVAILABLE
     OSG_GL_DISPLAYLISTS_AVAILABLE
     OSG_GL_FIXED_FUNCTION_AVAILABLE
     OSG_GL_MATRICES_AVAILABLE
     OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE
     OSG_GL_VERTEX_FUNCS_AVAILABLE
**/
  • 这么配置以后, OSG有不少渲染不兼容了. 例如:反射贴图, cow.osg上的贴图. 在控制台会报错
  • 不开启GL3, 也是能用高版本的GLSL
  • 没用GL3的设置编译的话 须要加这段代码, 以能使用相关的Uniform
osg::ref_ptr< osg::GraphicsContext > gc1 = setWindowed(viewer1);
	gc1->getState()->setUseModelViewAndProjectionUniforms(true);
	gc1->getState()->setUseVertexAttributeAliasing(true);

osg_ModelViewProjectionMatrix 这个Uniform参数要么用GL3的设置编译底层库, 要么加这两句设置ui

相关文章
相关标签/搜索