osg学习(五十六)osg::State的AttributeMap作用

Posted hankern

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了osg学习(五十六)osg::State的AttributeMap作用相关的知识,希望对你有一定的参考价值。

记录当前状态机的所有StateAttribute,比如着色器、视口等。

osg/State
class OSG_EXPORT State : public Referenced

        typedef std::pair<const StateAttribute*,StateAttribute::OverrideValue>  AttributePair;
        typedef std::vector<AttributePair>                                      AttributeVec;
        struct AttributeStack
        
            AttributeStack()
            
                changed = false;
                last_applied_attribute = 0L;
                last_applied_shadercomponent = 0L;
                global_default_attribute = 0L;

            

            void print(std::ostream& fout) const;

            /** apply an attribute if required, passing in attribute and appropriate attribute stack */
            bool                    changed;
            const StateAttribute*   last_applied_attribute;
            const ShaderComponent*  last_applied_shadercomponent;
            ref_ptr<const StateAttribute> global_default_attribute;
            AttributeVec            attributeVec;
        ;
        typedef std::map<StateAttribute::TypeMemberPair,AttributeStack> AttributeMap;



osg/StateAttribute
class OSG_EXPORT StateAttribute : public Object

    typedef std::pair<Type,unsigned int> TypeMemberPair;

以上是关于osg学习(五十六)osg::State的AttributeMap作用的主要内容,如果未能解决你的问题,请参考以下文章

C++学习(三二八)osg::State中_useVertexAttributeAliasing的作用

osg学习(五十八)cow.osg解析过程

osg学习(五十二)加载的牛模型cow.osg没有纹理 黑色

osg学习(五十七)double declaration in gles osg_ModelViewProjectionMatrix

osg学习(五十三)绘制纹理贴图Texture示例

osg学习(五十九)场景树节点典型例子