cocos2d-x节点(ccGLStateCache.h)API
2013-11-30 14:17
127 查看
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
绑定/删除 texure
,启用/禁用 gl功能
cocos2d-x节点(ccGLStateCache.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记绑定/删除 texure
,启用/禁用 gl功能
///cocos2d-x-3.0alpha0/cocos2dx/shaders //绑定/删除 texure ,启用/禁用 gl功能 #ifndef __CCGLSTATE_H__ #define __CCGLSTATE_H__ #include "CCGL.h" #include "platform/CCPlatformMacros.h" NS_CC_BEGIN /** * @addtogroup shaders * @{ */ class GLProgram; namespace GL { /** vertex attrib flags */ enum { VERTEX_ATTRIB_FLAT_NONE = 0, VERTEX_ATTRIB_FLAG_POSITION = 1 << 0, VERTEX_ATTRIB_FLAG_COLOR = 1 << 1, VERTEX_ATTRIB_FLAG_TEX_COORDS = 1 << 2, VERTEX_ATTRIB_FLAG_POS_COLOR_TEX = (VERTEX_ATTRIB_FLAG_POSITION | VERTEX_ATTRIB_FLAG_COLOR | VERTEX_ATTRIB_FLAG_TEX_COORDS), }; /** @file ccGLStateCache.h */ /** Invalidates(无效)the GL state cache. 如果 CC_ENABLE_GL_STATE_CACHE 将重置GL状态缓存. @since v2.0.0 */ void CC_DLL invalidateStateCache(void); /** 使用的GL程序的情况与目前有所不同 如果 CC_ENABLE_GL_STATE_CACHE 被禁用,它会直接使用 glUseProgram() . @since v2.0.0 */ void CC_DLL useProgram(GLuint program); /** Deletes the GL program. 如果正在使用使其无效 如果 CC_ENABLE_GL_STATE_CACHE i被禁用,它会直接使用 glDeleteProgram() . @since v2.0.0 */ void CC_DLL deleteProgram(GLuint program); /** 使用混合函数的情况下,它尚未使用。 如果 CC_ENABLE_GL_STATE_CACHE 被禁用,它会直接使用 glBlendFunc() . @since v2.0.0 */ void CC_DLL blendFunc(GLenum sfactor, GLenum dfactor); /** 重置混合模式缓存状态的情况下,你可以使用 glBlendFuncSeparate() or glBlendEquation(). 如果 CC_ENABLE_GL_STATE_CACHE 被禁用,他会使用 GL_FUNC_ADD(默认的混合模式). @since v2.0.0 */ void CC_DLL blendResetToCache(void); /** sets the projection(投影) matrix as dirty @since v2.0.0 */ void CC_DLL setProjectionMatrixDirty(void); /** 使用传递过来的参数启用顶点标识 可能的标志: * VERTEX_ATTRIB_FLAG_POSITION * VERTEX_ATTRIB_FLAG_COLOR * VERTEX_ATTRIB_FLAG_TEX_COORDS 这些标志可以进行 ORed. 标志是不存在的,将被禁用 @since v2.0.0 */ void CC_DLL enableVertexAttribs(unsigned int flags); /**如果尚未绑 texture 单元 0, 那么就绑定他. 如果 CC_ENABLE_GL_STATE_CACHE 被禁用,它会直接使用 glBindTexture() . @since v2.0.0 */ void CC_DLL bindTexture2D(GLuint textureId); /** 如果 texture 没有绑定到给定的单位,那么就绑定他. 如果 CC_ENABLE_GL_STATE_CACHE 被禁用,它会直接使用 glBindTexture() . @since v2.1.0 */ void CC_DLL bindTexture2DN(GLuint textureUnit, GLuint textureId); /** 它会删除给定的 texture. 如果texture 已经被绑定了, it will invalidate(无效) the cached. 如果 CC_ENABLE_GL_STATE_CACHE 被禁用,它会直接使用 glDeleteTextures() . @since v2.0.0 */ void CC_DLL deleteTexture(GLuint textureId); /** 它会删除给定的 texture. 如果texture 已经被绑定了, it will invalidate(无效) the cached for the given texture unit. 如果 CC_ENABLE_GL_STATE_CACHE 被禁用,它会直接使用 glDeleteTextures() . @since v2.1.0 */ void CC_DLL deleteTextureN(GLuint textureUnit, GLuint textureId); /** 如果 vertex array 没有绑,那么就绑定他. 如果 CC_ENABLE_GL_STATE_CACHE 被禁用,它会直接使用 glBindVertexArray() . @since v2.0.0 */ void CC_DLL bindVAO(GLuint vaoId); // end of shaders group /// @} } // Namespace GL NS_CC_END #endif /* __CCGLSTATE_H__ */
相关文章推荐
- cocos2d-X 节点(CCSpriteFrameCache.h)API
- cocos2d-X 节点(CCAnimationCache.h)API
- cocos2d-x节点(CCShaderCache.h)API
- cocos2d-x节点(CCTextureCache.h)API
- cocos2d-X 节点(CCMenu.h)API
- cocos2d-X 节点(CCActionNode.h)API
- cocos2d-X 节点(UISlider.h)API
- cocos2d-x节点(b2PrismaticJoint.h)API
- cocos2d-x节点(b2Math.h)API
- cocos2d-x节点(CCNotificationCenter.h)API
- cocos2d-x节点(CCCommon.h)API
- cocos2d-x节点(CCEventKeyboard.h)API
- cocos2d-x节点(CCString.h)API
- cocos2d-x节点(CCActionProgressTimer.h)API
- cocos2d-X 节点(CCMenuItem.h)API
- cocos2d-X 节点(CCTMXLayer.h)API
- cocos2d-X 节点(CCActionObject.h)API
- cocos2d-X 节点(UITextField.h)API
- cocos2d-x节点(b2MouseJoint.h)API
- cocos2d-x节点(b2Settings.h)API