axmol/cocos/2d/renderer/NewClippingNode.h

54 lines
1009 B
C
Raw Normal View History

2013-11-15 02:35:28 +08:00
//
// Created by NiTe Luo on 11/13/13.
//
#ifndef __NewClippingNode_H_
#define __NewClippingNode_H_
#include "CCPlatformMacros.h"
#include "CCClippingNode.h"
NS_CC_BEGIN
class NewClippingNode : public ClippingNode
{
public:
static NewClippingNode* create();
static NewClippingNode* create(Node* pStencil);
virtual ~NewClippingNode();
2013-11-19 06:58:41 +08:00
virtual void visit() override;
2013-11-15 02:35:28 +08:00
protected:
NewClippingNode();
2013-11-15 08:39:03 +08:00
void beforeVisit();
2013-11-16 09:32:29 +08:00
void afterDrawStencil();
2013-11-15 08:39:03 +08:00
void afterVisit();
protected:
GLboolean currentStencilEnabled;
GLuint currentStencilWriteMask;
GLenum currentStencilFunc;
GLint currentStencilRef;
GLuint currentStencilValueMask;
GLenum currentStencilFail;
GLenum currentStencilPassDepthFail;
GLenum currentStencilPassDepthPass;
2013-11-16 09:32:29 +08:00
GLboolean currentDepthWriteMask;
2013-11-19 06:58:41 +08:00
GLboolean currentAlphaTestEnabled;
GLenum currentAlphaTestFunc;
GLclampf currentAlphaTestRef;
2013-11-16 09:32:29 +08:00
GLint mask_layer_le;
2013-11-15 02:35:28 +08:00
};
NS_CC_END
#endif //__NewClippingNode_H_