sead
Loading...
Searching...
No Matches
agl::ShaderProgram::VariationBuffer Class Reference

Classes

class  MacroData

Private Member Functions

 VariationBuffer ()
virtual ~VariationBuffer ()
void initialize (ShaderProgram *program, s32 macro_num, sead::Heap *heap)
void createMacro (s32 index, const sead::SafeString &name, const sead::SafeString &id, s32 value_num, sead::Heap *heap)
void setMacroValue (s32 macro_index, s32 value_index, const sead::SafeString &value)
s32 searchShaderProgramIndex (s32 macro_num, const char *const *macro_array, const char *const *value_array, s32 index) const
const sead::SafeStringsearchMacroName (const sead::SafeString &id) const
void create (sead::Heap *heap)
s32 getMacroAndValueArray (s32 index, const char **macro_array, const char **value_array) const
s32 getMacroValueIndexArray (s32 index, s32 *value_index_array) const
s32 calcVariationIndex (const s32 *value_index_array) const
s32 getMacroValueVariationNum (s32 macro_index) const

Private Attributes

ShaderProgrammpOriginal
sead::Buffer< ShaderProgrammProgram
sead::Buffer< MacroDatamMacroData

Friends

class ShaderProgram
class SharedData

Constructor & Destructor Documentation

◆ VariationBuffer()

agl::ShaderProgram::VariationBuffer::VariationBuffer ( )
private

Member Function Documentation

◆ ~VariationBuffer()

agl::ShaderProgram::VariationBuffer::~VariationBuffer ( )
privatevirtual

◆ initialize()

void agl::ShaderProgram::VariationBuffer::initialize ( ShaderProgram * program,
s32 macro_num,
sead::Heap * heap )
private

◆ createMacro()

void agl::ShaderProgram::VariationBuffer::createMacro ( s32 index,
const sead::SafeString & name,
const sead::SafeString & id,
s32 value_num,
sead::Heap * heap )
private

◆ setMacroValue()

void agl::ShaderProgram::VariationBuffer::setMacroValue ( s32 macro_index,
s32 value_index,
const sead::SafeString & value )
private

◆ searchShaderProgramIndex()

s32 agl::ShaderProgram::VariationBuffer::searchShaderProgramIndex ( s32 macro_num,
const char *const * macro_array,
const char *const * value_array,
s32 index ) const
private

◆ searchMacroName()

const sead::SafeString & agl::ShaderProgram::VariationBuffer::searchMacroName ( const sead::SafeString & id) const
private

◆ create()

void agl::ShaderProgram::VariationBuffer::create ( sead::Heap * heap)
private

◆ getMacroAndValueArray()

s32 agl::ShaderProgram::VariationBuffer::getMacroAndValueArray ( s32 index,
const char ** macro_array,
const char ** value_array ) const
private

◆ getMacroValueIndexArray()

s32 agl::ShaderProgram::VariationBuffer::getMacroValueIndexArray ( s32 index,
s32 * value_index_array ) const
private

◆ calcVariationIndex()

s32 agl::ShaderProgram::VariationBuffer::calcVariationIndex ( const s32 * value_index_array) const
private

◆ getMacroValueVariationNum()

s32 agl::ShaderProgram::VariationBuffer::getMacroValueVariationNum ( s32 macro_index) const
inlineprivate

◆ ShaderProgram

friend class ShaderProgram
friend

◆ SharedData

friend class SharedData
friend

Member Data Documentation

◆ mpOriginal

ShaderProgram* agl::ShaderProgram::VariationBuffer::mpOriginal
private

◆ mProgram

sead::Buffer<ShaderProgram> agl::ShaderProgram::VariationBuffer::mProgram
private

◆ mMacroData

sead::Buffer<MacroData> agl::ShaderProgram::VariationBuffer::mMacroData
private