cocos2dx Material System讲解二

来源:互联网 发布:ntfs for mac os x 编辑:程序博客网 时间:2024/06/08 18:01

material 里面其它很好理解,重点讲解renderstate,这里所有内容在cocos/renderer/CCRenderState.cpp里面,我这里简单的提炼一下,方便以后使用。

renderState
{

        blend=true/false

        blendSrc=ZERO/ONE/SRC_COLOR/ONE_MINUS_SRC_COLOR/DST_COLOR/ONE_MINUS_DST_COLOR/

                        SRC_ALPHA/ONE_MINUS_SRC_ALPHA/DST_ALPHA/ONE_MINUS_DST_ALPHA/

                        CONSTANT_ALPHA/ONE_MINUS_CONSTANT_ALPHA/SRC_ALPHA_SATURATE

        blendSrc=ZERO/ONE/SRC_COLOR/ONE_MINUS_SRC_COLOR/DST_COLOR/ONE_MINUS_DST_COLOR/

                        SRC_ALPHA/ONE_MINUS_SRC_ALPHA/DST_ALPHA/ONE_MINUS_DST_ALPHA/

                        CONSTANT_ALPHA/ONE_MINUS_CONSTANT_ALPHA/SRC_ALPHA_SATURATE

        cullFace = true/false

        cullFaceSide = BACK/FRONT/FRONT_AND_BACK

        frontFace=CCW/CW

        depthTest = true/false

        depthWrite=true/false

        depthFunc=NEVER/LESS/EQUAL/LEQUAL/GREATER/NOTEQUAL/GEQUAL/ALWAYS
}

stencilTest等相关内容在文档中被注释掉了,这里就不说了,如果用到了再说。

depthTest作用:用来开启更新深度缓冲区的功能,也就是,如果通过比较后深度值发生变化了,会进行更新深度缓冲区的操作。启动它,OpenGL就可以跟踪再Z轴上的像素,这样,它只会再那个像素前方没有东西时,才会绘画这个像素。在做绘画3D时,这个功能最好启动,视觉效果比较真实。


1 0
原创粉丝点击