123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- #ifndef __CCGLSTATE_H__
- #define __CCGLSTATE_H__
- #include <cstdint>
- #include "platform/CCGL.h"
- #include "platform/CCPlatformMacros.h"
- NS_CC_BEGIN
- class GLProgram;
- class Texture2D;
- namespace GL {
- enum {
- VERTEX_ATTRIB_FLAG_NONE = 0,
- VERTEX_ATTRIB_FLAG_POSITION = 1 << 0,
- VERTEX_ATTRIB_FLAG_COLOR = 1 << 1,
- VERTEX_ATTRIB_FLAG_TEX_COORD = 1 << 2,
- VERTEX_ATTRIB_FLAG_NORMAL = 1 << 3,
- VERTEX_ATTRIB_FLAG_BLEND_WEIGHT = 1 << 4,
- VERTEX_ATTRIB_FLAG_BLEND_INDEX = 1 << 5,
-
- VERTEX_ATTRIB_FLAG_POS_COLOR_TEX = (VERTEX_ATTRIB_FLAG_POSITION | VERTEX_ATTRIB_FLAG_COLOR | VERTEX_ATTRIB_FLAG_TEX_COORD),
- };
- void CC_DLL invalidateStateCache(void);
- void CC_DLL useProgram(GLuint program);
- void CC_DLL deleteProgram(GLuint program);
- void CC_DLL blendFunc(GLenum sfactor, GLenum dfactor);
- void CC_DLL blendResetToCache(void);
- void CC_DLL setProjectionMatrixDirty(void);
- void CC_DLL enableVertexAttribs(uint32_t flags);
- void CC_DLL bindTexture2D(GLuint textureId);
- void CC_DLL bindTexture2D(Texture2D* texture);
- void CC_DLL bindTexture2DN(GLuint textureUnit, GLuint textureId);
- void CC_DLL bindTextureN(GLuint textureUnit, GLuint textureId, GLuint textureType = GL_TEXTURE_2D);
- void CC_DLL deleteTexture(GLuint textureId);
- CC_DEPRECATED_ATTRIBUTE void CC_DLL deleteTextureN(GLuint textureUnit, GLuint textureId);
- void CC_DLL activeTexture(GLenum texture);
- void CC_DLL bindVAO(GLuint vaoId);
- }
- NS_CC_END
-
- #endif
|