New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
Mii::Shader Class Reference

#include <Mii_Shader.h>

Classes

struct  LightParam
struct  Material
struct  RimParam
struct  SpecularParam

Public Types

enum  Uniform {
  cUniform_Proj = 0 , cUniform_MV , cUniform_IT , cUniform_Mode ,
  cUniform_Const0 , cUniform_Const1 , cUniform_Const2 , cUniform_LightEnable ,
  cUniform_LightDir , cUniform_LightAmbient , cUniform_LightDiffuse , cUniform_LightSpecular ,
  cUniform_MaterialAmbient , cUniform_MaterialDiffuse , cUniform_MaterialSpecular , cUniform_MaterialSpecularPower ,
  cUniform_MaterialSpecularMode , cUniform_RimColor , cUniform_RimPower , cUniform_SpecularMask ,
  cUniform_IsFaceMask , cUniform_ExLightRegColor , cUniform_ExDarkRegColor , cUniform_LightmapEnable ,
  cUniform_FogColor , cUniform_FogStart , cUniform_FogStartEndInv , cUniform_FogDir ,
  cUniform_Num
}
enum  Sampler { cSampler_Texture , cSampler_Lightmap01p , cSampler_Lightmap02p , cSampler_Num }

Public Member Functions

 Shader ()
 ~Shader ()
void initialize (sead::Heap *heap=nullptr)
void setModel (ModelFFL *model)
void setCallback () const
void activate () const
void setViewUniform (const sead::Matrix34f &model_mtx, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx) const
void setExRegColorUniform (const sead::Color4f *color) const
void setLightmapEnableUniform (bool enable) const
void setFogUniform (RenderObjRenderMgr *render_mgr) const

Static Public Member Functions

static void initializeShader (agl::ShaderProgramArchive *archive, sead::Heap *heap)
static void setCulling (FFLCullMode mode)

Private Member Functions

void initializeParam_ ()
void setLightUniform_ () const
void setMaterialUniform_ (const FFLDrawParam &draw_param) const
void setRimUniform_ () const
void draw_ (const FFLDrawParam &draw_param)
void setMatrix_ (const Mat44 &matrix)

Static Private Member Functions

static void drawCallback_ (void *obj, const FFLDrawParam &draw_param)
static void setMatrixCallback_ (void *obj, const Mat44 &matrix)

Private Attributes

const agl::ShaderProgramArchivemShaderArchive
const agl::ShaderProgrammShaderProgram
sead::Buffer< GX2AttribStream > mAttribute
GX2FetchShader mFetchShader
FFLShaderCallback mCallback
GX2Sampler mSampler
ModelFFLmModel
agl::TextureSampler mEnvSampler_Star
agl::TextureSampler mEnvSampler_P
LightParam mLightParam
Material mMaterial [FFL_MODULATE_TYPE_SHAPE_MAX]
RimParam mRimParam
SpecularParam mSpecularParam

Member Enumeration Documentation

◆ Uniform

Enumerator
cUniform_Proj 
cUniform_MV 
cUniform_IT 
cUniform_Mode 
cUniform_Const0 
cUniform_Const1 
cUniform_Const2 
cUniform_LightEnable 
cUniform_LightDir 
cUniform_LightAmbient 
cUniform_LightDiffuse 
cUniform_LightSpecular 
cUniform_MaterialAmbient 
cUniform_MaterialDiffuse 
cUniform_MaterialSpecular 
cUniform_MaterialSpecularPower 
cUniform_MaterialSpecularMode 
cUniform_RimColor 
cUniform_RimPower 
cUniform_SpecularMask 
cUniform_IsFaceMask 
cUniform_ExLightRegColor 
cUniform_ExDarkRegColor 
cUniform_LightmapEnable 
cUniform_FogColor 
cUniform_FogStart 
cUniform_FogStartEndInv 
cUniform_FogDir 
cUniform_Num 

◆ Sampler

Enumerator
cSampler_Texture 
cSampler_Lightmap01p 
cSampler_Lightmap02p 
cSampler_Num 

Constructor & Destructor Documentation

◆ Shader()

Mii::Shader::Shader ( )

◆ ~Shader()

Mii::Shader::~Shader ( )

Member Function Documentation

◆ initializeShader()

void Mii::Shader::initializeShader ( agl::ShaderProgramArchive * archive,
sead::Heap * heap )
static

◆ initialize()

void Mii::Shader::initialize ( sead::Heap * heap = nullptr)

◆ setModel()

void Mii::Shader::setModel ( ModelFFL * model)
inline

◆ setCallback()

void Mii::Shader::setCallback ( ) const

◆ activate()

void Mii::Shader::activate ( ) const

◆ setViewUniform()

void Mii::Shader::setViewUniform ( const sead::Matrix34f & model_mtx,
const sead::Matrix34f & view_mtx,
const sead::Matrix44f & proj_mtx ) const

◆ setExRegColorUniform()

void Mii::Shader::setExRegColorUniform ( const sead::Color4f * color) const

◆ setLightmapEnableUniform()

void Mii::Shader::setLightmapEnableUniform ( bool enable) const

◆ setFogUniform()

void Mii::Shader::setFogUniform ( RenderObjRenderMgr * render_mgr) const

◆ setCulling()

void Mii::Shader::setCulling ( FFLCullMode mode)
static

◆ initializeParam_()

void Mii::Shader::initializeParam_ ( )
private

◆ setLightUniform_()

void Mii::Shader::setLightUniform_ ( ) const
private

◆ setMaterialUniform_()

void Mii::Shader::setMaterialUniform_ ( const FFLDrawParam & draw_param) const
private

◆ setRimUniform_()

void Mii::Shader::setRimUniform_ ( ) const
private

◆ draw_()

void Mii::Shader::draw_ ( const FFLDrawParam & draw_param)
private

◆ drawCallback_()

void Mii::Shader::drawCallback_ ( void * obj,
const FFLDrawParam & draw_param )
staticprivate

◆ setMatrix_()

void Mii::Shader::setMatrix_ ( const Mat44 & matrix)
private

◆ setMatrixCallback_()

void Mii::Shader::setMatrixCallback_ ( void * obj,
const Mat44 & matrix )
staticprivate

Member Data Documentation

◆ mShaderArchive

const agl::ShaderProgramArchive* Mii::Shader::mShaderArchive
private

◆ mShaderProgram

const agl::ShaderProgram* Mii::Shader::mShaderProgram
private

◆ mAttribute

sead::Buffer<GX2AttribStream> Mii::Shader::mAttribute
private

◆ mFetchShader

GX2FetchShader Mii::Shader::mFetchShader
private

◆ mCallback

FFLShaderCallback Mii::Shader::mCallback
private

◆ mSampler

GX2Sampler Mii::Shader::mSampler
private

◆ mModel

ModelFFL* Mii::Shader::mModel
private

◆ mEnvSampler_Star

agl::TextureSampler Mii::Shader::mEnvSampler_Star
private

◆ mEnvSampler_P

agl::TextureSampler Mii::Shader::mEnvSampler_P
private

◆ mLightParam

LightParam Mii::Shader::mLightParam
private

◆ mMaterial

Material Mii::Shader::mMaterial[FFL_MODULATE_TYPE_SHAPE_MAX]
private

◆ mRimParam

RimParam Mii::Shader::mRimParam
private

◆ mSpecularParam

SpecularParam Mii::Shader::mSpecularParam
private