PuzzleSDK
EffectNormalMapped类 参考
+ 类 EffectNormalMapped 继承关系图:
+ EffectNormalMapped 的协作图:

Public 成员函数

 CREATE_FUNC (EffectNormalMapped)
 
void setKBump (float value)
 
void setLightPos (const Vec3 &pos)
 
void setLightColor (const Color4F &color)
 
float getKBump () const
 
- Public 成员函数 继承自 Effect
cocos2d::backend::ProgramState * getProgramState () const
 

静态 Public 成员函数

static EffectNormalMappedcreate (const std::string &normalMapFileName)
 

Protected 成员函数

bool init ()
 
bool initNormalMap (const std::string &normalMapFileName)
 
virtual void setTarget (EffectSprite *sprite) override
 
- Protected 成员函数 继承自 Effect
bool initProgramState (const std::string &fragmentFilename)
 
 Effect ()
 
virtual ~Effect ()
 

Protected 属性

EffectSprite_sprite
 
Vec3 _lightPos
 
Color4F _lightColor
 
float _kBump
 
- Protected 属性 继承自 Effect
cocos2d::backend::ProgramState * _programState = nullptr
 
std::string _fragSource
 
cocos2d::EventListenerCustom * _backgroundListener
 

详细描述

在文件 ShaderTest2.cpp391 行定义.

成员函数说明

◆ create()

static EffectNormalMapped * EffectNormalMapped::create ( const std::string &  normalMapFileName)
inlinestatic

在文件 ShaderTest2.cpp395 行定义.

396 {
397 EffectNormalMapped *normalMappedSprite = new (std::nothrow) EffectNormalMapped();
398 if (normalMappedSprite && normalMappedSprite->init() && normalMappedSprite->initNormalMap(normalMapFileName))
399 {
400
401 normalMappedSprite->autorelease();
402 return normalMappedSprite;
403 }
404 CC_SAFE_DELETE(normalMappedSprite);
405 return nullptr;
406 }
bool initNormalMap(const std::string &normalMapFileName)

引用了 init() , 以及 initNormalMap().

被这些函数引用 EffectSpriteLamp::init().

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

◆ CREATE_FUNC()

EffectNormalMapped::CREATE_FUNC ( EffectNormalMapped  )

◆ getKBump()

float EffectNormalMapped::getKBump ( ) const
inline

在文件 ShaderTest2.cpp410 行定义.

410{return _kBump;}

引用了 _kBump.

◆ init()

bool EffectNormalMapped::init ( )
protected

在文件 ShaderTest2.cpp421 行定义.

422{
423 initProgramState("Shaders3D/Normal.frag");
424 _kBump = 2;
425 return true;
426}
bool initProgramState(const std::string &fragmentFilename)

引用了 _kBump , 以及 Effect::initProgramState().

被这些函数引用 create().

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

◆ initNormalMap()

bool EffectNormalMapped::initNormalMap ( const std::string &  normalMapFileName)
protected

在文件 ShaderTest2.cpp427 行定义.

428{
429 auto normalMapTexture = Director::getInstance()->getTextureCache()->addImage(normalMapFileName);
430 SET_TEXTURE(_programState, "u_normalMap", 1, normalMapTexture->getBackendTexture());
431 return true;
432}
#define SET_TEXTURE(ps, name, idx, value)
Definition: ShaderTest2.cpp:41
cocos2d::backend::ProgramState * _programState
Definition: ShaderTest2.h:55

引用了 Effect::_programState , 以及 SET_TEXTURE.

被这些函数引用 create().

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

◆ setKBump()

void EffectNormalMapped::setKBump ( float  value)

在文件 ShaderTest2.cpp440 行定义.

441{
442 _kBump = value;
443 SET_UNIFORM(_programState, "u_kBump", _kBump);
444
445}
#define SET_UNIFORM(ps, name, value)
Definition: ShaderTest2.cpp:35

引用了 _kBump, Effect::_programState , 以及 SET_UNIFORM.

◆ setLightColor()

void EffectNormalMapped::setLightColor ( const Color4F &  color)

在文件 ShaderTest2.cpp453 行定义.

454{
455 _lightColor = color;
456 SET_UNIFORM(_programState, "u_diffuseL", Vec3(_lightColor.r, _lightColor.g, _lightColor.b));
457
458}

引用了 _lightColor, Effect::_programState , 以及 SET_UNIFORM.

◆ setLightPos()

void EffectNormalMapped::setLightPos ( const Vec3 &  pos)

在文件 ShaderTest2.cpp447 行定义.

448{
449 _lightPos = pos;
450 SET_UNIFORM(_programState, "u_lightPosInLocalSpace", Vec4(_lightPos.x, _lightPos.y, _lightPos.z, 1));
451}

引用了 _lightPos, Effect::_programState , 以及 SET_UNIFORM.

◆ setTarget()

void EffectNormalMapped::setTarget ( EffectSprite sprite)
overrideprotectedvirtual

重载 Effect .

在文件 ShaderTest2.cpp433 行定义.

434{
435 _sprite = sprite;
436 SET_UNIFORM(_programState, "u_kBump", _kBump);
437 SET_UNIFORM(_programState, "u_contentSize", Vec2(sprite->getContentSize().width, sprite->getContentSize().height));
438}
EffectSprite * _sprite

引用了 _kBump, Effect::_programState, _sprite , 以及 SET_UNIFORM.

类成员变量说明

◆ _kBump

float EffectNormalMapped::_kBump
protected

在文件 ShaderTest2.cpp418 行定义.

被这些函数引用 getKBump(), init(), setKBump() , 以及 setTarget().

◆ _lightColor

Color4F EffectNormalMapped::_lightColor
protected

在文件 ShaderTest2.cpp417 行定义.

被这些函数引用 setLightColor().

◆ _lightPos

Vec3 EffectNormalMapped::_lightPos
protected

在文件 ShaderTest2.cpp416 行定义.

被这些函数引用 setLightPos().

◆ _sprite

EffectSprite* EffectNormalMapped::_sprite
protected

在文件 ShaderTest2.cpp415 行定义.

被这些函数引用 setTarget().


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