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

Private 成员函数

virtual bool resolveAutoBinding (backend::ProgramState *programState, const std::string &uniform, const std::string &autoBinding) override
 
void callbackRadius (backend::ProgramState *programState, backend::UniformLocation uniform)
 
void callbackColor (backend::ProgramState *programState, backend::UniformLocation uniform)
 

详细描述

在文件 MaterialSystemTest.cpp185 行定义.

成员函数说明

◆ callbackColor()

void EffectAutoBindingResolver::callbackColor ( backend::ProgramState *  programState,
backend::UniformLocation  uniform 
)
private

在文件 MaterialSystemTest.cpp216 行定义.

217{
218 float r = CCRANDOM_0_1();
219 float g = CCRANDOM_0_1();
220 float b = CCRANDOM_0_1();
221 Vec3 color(r, g, b);
222
223 programState->setUniform(uniform, &color, sizeof(color));
224}

被这些函数引用 resolveAutoBinding().

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

◆ callbackRadius()

void EffectAutoBindingResolver::callbackRadius ( backend::ProgramState *  programState,
backend::UniformLocation  uniform 
)
private

在文件 MaterialSystemTest.cpp210 行定义.

211{
212 float f = CCRANDOM_0_1() * 10;
213 programState->setUniform(uniform, &f, sizeof(f));
214}

被这些函数引用 resolveAutoBinding().

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

◆ resolveAutoBinding()

bool EffectAutoBindingResolver::resolveAutoBinding ( backend::ProgramState *  programState,
const std::string &  uniform,
const std::string &  autoBinding 
)
overrideprivatevirtual

在文件 MaterialSystemTest.cpp193 行定义.

194{
195 if (autoBinding.compare("DYNAMIC_RADIUS")==0)
196 {
197 auto loc = programState->getUniformLocation(uniform);
198 programState->setCallbackUniform(loc, CC_CALLBACK_2(EffectAutoBindingResolver::callbackRadius, this));
199 return true;
200 }
201 else if (autoBinding.compare("OUTLINE_COLOR")==0)
202 {
203 auto loc = programState->getUniformLocation(uniform);
204 programState->setCallbackUniform(loc, CC_CALLBACK_2(EffectAutoBindingResolver::callbackColor, this));
205 return true;
206 }
207 return false;
208}
void callbackRadius(backend::ProgramState *programState, backend::UniformLocation uniform)
void callbackColor(backend::ProgramState *programState, backend::UniformLocation uniform)

引用了 callbackColor() , 以及 callbackRadius().

+ 函数调用图:

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