Advertisement

osgEarth Rex引擎原理分析与着色器上下文环境准备流程

阅读量:

目标:(一一零)中的问题197

上下文环境负责着色器代码的编译过程。

每个着色器均维护一个 ... 列表,并将其中每一项对应于一个渲染窗口。而 ... 则由osh:: Shader: ShaderObjects构建并维持。然而,在这种情况下,则会使用 def 来加以区分;具体来说,则是由当前状态机内的 definemap 和 shader 中的 define 综合决定的。

1、着色器维护osg::Shader:ShaderObjects

复制代码
 osg/Shader.cpp

    
 Shader::PerContextShader* Shader::getPCS(osg::State& state) const
    
 {
    
     if( getType() == UNDEFINED )
    
     {
    
     OSG_WARN << "Shader type is UNDEFINED" << std::endl;
    
     return 0;
    
     }
    
  
    
     if (!state.supportsShaderRequirements(_shaderRequirements))
    
     {
    
     // OSG_NOTICE<<"Shader n

全部评论 (0)

还没有任何评论哟~