PuzzleSDK
Effect类 参考

#include <ShaderTest2.h>

+ 类 Effect 继承关系图:
+ Effect 的协作图:

Public 成员函数

cocos2d::backend::ProgramState * getProgramState () const
 
virtual void setTarget (EffectSprite *sprite)
 

Protected 成员函数

bool initProgramState (const std::string &fragmentFilename)
 
 Effect ()
 
virtual ~Effect ()
 

Protected 属性

cocos2d::backend::ProgramState * _programState = nullptr
 
std::string _fragSource
 
cocos2d::EventListenerCustom * _backgroundListener
 

详细描述

在文件 ShaderTest2.h45 行定义.

构造及析构函数说明

◆ Effect()

Effect::Effect ( )
protected

在文件 ShaderTest2.cpp191 行定义.

192{
193}

◆ ~Effect()

Effect::~Effect ( )
protectedvirtual

在文件 ShaderTest2.cpp195 行定义.

196{
197 CC_SAFE_RELEASE_NULL(_programState);
198}
cocos2d::backend::ProgramState * _programState
Definition: ShaderTest2.h:55

引用了 _programState.

成员函数说明

◆ getProgramState()

cocos2d::backend::ProgramState * Effect::getProgramState ( ) const
inline

在文件 ShaderTest2.h48 行定义.

48{ return _programState; }

引用了 _programState.

被这些函数引用 EffectSprite::setEffect().

+ 这是这个函数的调用关系图:

◆ initProgramState()

bool Effect::initProgramState ( const std::string &  fragmentFilename)
protected

在文件 ShaderTest2.cpp173 行定义.

174{
175 auto fileUtiles = FileUtils::getInstance();
176 auto fragmentFullPath = fileUtiles->fullPathForFilename(fragmentFilename);
177 auto fragSource = fileUtiles->getStringFromFile(fragmentFullPath);
178
179#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
180 _fragSource = fragSource;
181#endif
182 auto program = backend::Device::getInstance()->newProgram(positionTextureColor_vert, fragSource.c_str());
183 auto programState = new backend::ProgramState(program);
184 CC_SAFE_RELEASE(_programState);
185 CC_SAFE_RELEASE(program);
186 _programState = programState;
187
188 return _programState != nullptr;
189}
std::string _fragSource
Definition: ShaderTest2.h:57

引用了 _fragSource , 以及 _programState.

被这些函数引用 EffectOutline::init(), EffectNoise::init(), EffectEdgeDetect::init(), EffectGreyScale::init(), EffectSepia::init(), EffectBloom::init(), EffectCelShading::init(), EffectLensFlare::init(), EffectNormalMapped::init() , 以及 EffectBlur::init().

+ 这是这个函数的调用关系图:

◆ setTarget()

virtual void Effect::setTarget ( EffectSprite sprite)
inlinevirtual

EffectBlur, EffectNoise, EffectEdgeDetect, EffectBloom, EffectCelShading, EffectLensFlare , 以及 EffectNormalMapped 重载.

在文件 ShaderTest2.h49 行定义.

49{}

被这些函数引用 EffectSprite::addEffect() , 以及 EffectSprite::setEffect().

+ 这是这个函数的调用关系图:

类成员变量说明

◆ _backgroundListener

cocos2d::EventListenerCustom* Effect::_backgroundListener
protected

在文件 ShaderTest2.h58 行定义.

◆ _fragSource

std::string Effect::_fragSource
protected

在文件 ShaderTest2.h57 行定义.

被这些函数引用 initProgramState().

◆ _programState


该类的文档由以下文件生成: