@H_502_0@material 里面其它很好理解,重点讲解renderstate,这里所有内容在cocos/renderer/CCRenderState.cpp里面,我这里简单的提炼一下,方便以后使用。
@H_502_0@renderState
{
@H_502_0@ blend=true/false
@H_502_0@ blendSrc=ZERO/ONE/SRC_COLOR/ONE_MINUS_SRC_COLOR/DST_COLOR/ONE_MINUS_DST_COLOR/
@H_502_0@ SRC_ALPHA/ONE_MINUS_SRC_ALPHA/DST_ALPHA/ONE_MINUS_DST_ALPHA/
@H_502_0@ CONSTANT_ALPHA/ONE_MINUS_CONSTANT_ALPHA/SRC_ALPHA_SATURATE
@H_502_0@ blendSrc=ZERO/ONE/SRC_COLOR/ONE_MINUS_SRC_COLOR/DST_COLOR/ONE_MINUS_DST_COLOR/
@H_502_0@ SRC_ALPHA/ONE_MINUS_SRC_ALPHA/DST_ALPHA/ONE_MINUS_DST_ALPHA/
@H_502_0@ CONSTANT_ALPHA/ONE_MINUS_CONSTANT_ALPHA/SRC_ALPHA_SATURATE
@H_502_0@ cullFace = true/false
@H_502_0@ cullFaceSide = BACK/FRONT/FRONT_AND_BACK
@H_502_0@ frontFace=CCW/CW
@H_502_0@ depthTest = true/false
@H_502_0@ depthWrite=true/false
@H_502_0@ depthFunc=NEVER/LESS/EQUAL/LEQUAL/GREATER/NOTEQUAL/GEQUAL/ALWAYS
}
@H_502_0@stencilTest等相关内容在文档中被注释掉了,这里就不说了,如果用到了再说。
@H_502_0@depthTest作用:用来开启更新深度缓冲区的功能,也就是,如果通过比较后深度值发生变化了,会进行更新深度缓冲区的操作。启动它,OpenGL就可以跟踪再Z轴上的像素,这样,它只会再那个像素前方没有东西时,才会绘画这个像素。在做绘画3D时,这个功能最好启动,视觉效果比较真实。