123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #ifndef __cocos2d_libs__CCPass__
- #define __cocos2d_libs__CCPass__
- #include <stdio.h>
- #include "platform/CCPlatformMacros.h"
- #include "renderer/CCRenderState.h"
- NS_CC_BEGIN
- class GLProgramState;
- class Technique;
- class Node;
- class VertexAttribBinding;
- class CC_DLL Pass : public RenderState
- {
- friend class Material;
- public:
-
- static Pass* createWithGLProgramState(Technique* parent, GLProgramState* programState);
- static Pass* create(Technique* parent);
-
- GLProgramState* getGLProgramState() const;
-
- void bind(const Mat4& modelView);
- void bind(const Mat4& modelView, bool bindAttributes);
-
- void unbind();
-
- void setVertexAttribBinding(VertexAttribBinding* binding);
-
- VertexAttribBinding* getVertexAttributeBinding() const;
- uint32_t getHash() const;
-
- Pass* clone() const;
- protected:
- Pass();
- ~Pass();
- bool init(Technique* parent);
- bool initWithGLProgramState(Technique* parent, GLProgramState *glProgramState);
- void setGLProgramState(GLProgramState* glProgramState);
- Node* getTarget() const;
- GLProgramState* _glProgramState;
- VertexAttribBinding* _vertexAttribBinding;
- };
- NS_CC_END
- #endif
|