3#include <common/aglShaderProgramArchive.h>
4#include <common/aglTextureSampler.h>
5#include <heap/seadHeap.h>
6#include <math/seadMatrix.h>
85 void setViewUniform(
const sead::Matrix34f& model_mtx,
const sead::Matrix34f& view_mtx,
const sead::Matrix44f& proj_mtx)
const;
108 void draw_(
const FFLDrawParam& draw_param);
136 static_assert(
sizeof(
Material) == 0x38);
153 static_assert(
sizeof(
RimParam) == 0x14);
176static_assert(
sizeof(
Shader) == 0x5F0);
Definition Mii_Shader.h:16
void setLightmapEnableUniform(bool enable) const
void setViewUniform(const sead::Matrix34f &model_mtx, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx) const
GX2Sampler mSampler
Definition Mii_Shader.h:167
const agl::ShaderProgramArchive * mShaderArchive
Definition Mii_Shader.h:162
void draw_(const FFLDrawParam &draw_param)
agl::TextureSampler mEnvSampler_P
Definition Mii_Shader.h:170
static void drawCallback_(void *obj, const FFLDrawParam &draw_param)
void setFogUniform(RenderObjRenderMgr *render_mgr) const
static void setCulling(FFLCullMode mode)
void setLightUniform_() const
void setExRegColorUniform(const sead::Color4f *color) const
GX2FetchShader mFetchShader
Definition Mii_Shader.h:165
const agl::ShaderProgram * mShaderProgram
Definition Mii_Shader.h:163
Material mMaterial[FFL_MODULATE_TYPE_SHAPE_MAX]
Definition Mii_Shader.h:172
void setMatrix_(const Mat44 &matrix)
static void setMatrixCallback_(void *obj, const Mat44 &matrix)
RimParam mRimParam
Definition Mii_Shader.h:173
void initialize(sead::Heap *heap=nullptr)
Uniform
Definition Mii_Shader.h:19
@ cUniform_Const0
Definition Mii_Shader.h:24
@ cUniform_LightDir
Definition Mii_Shader.h:28
@ cUniform_LightEnable
Definition Mii_Shader.h:27
@ cUniform_FogDir
Definition Mii_Shader.h:47
@ cUniform_MaterialSpecularPower
Definition Mii_Shader.h:35
@ cUniform_FogStartEndInv
Definition Mii_Shader.h:46
@ cUniform_ExLightRegColor
Definition Mii_Shader.h:41
@ cUniform_MaterialSpecularMode
Definition Mii_Shader.h:36
@ cUniform_ExDarkRegColor
Definition Mii_Shader.h:42
@ cUniform_LightDiffuse
Definition Mii_Shader.h:30
@ cUniform_RimPower
Definition Mii_Shader.h:38
@ cUniform_Mode
Definition Mii_Shader.h:23
@ cUniform_MaterialSpecular
Definition Mii_Shader.h:34
@ cUniform_MV
Definition Mii_Shader.h:21
@ cUniform_FogStart
Definition Mii_Shader.h:45
@ cUniform_Const1
Definition Mii_Shader.h:25
@ cUniform_MaterialAmbient
Definition Mii_Shader.h:32
@ cUniform_Proj
Definition Mii_Shader.h:20
@ cUniform_SpecularMask
Definition Mii_Shader.h:39
@ cUniform_Const2
Definition Mii_Shader.h:26
@ cUniform_LightmapEnable
Definition Mii_Shader.h:43
@ cUniform_RimColor
Definition Mii_Shader.h:37
@ cUniform_IsFaceMask
Definition Mii_Shader.h:40
@ cUniform_LightSpecular
Definition Mii_Shader.h:31
@ cUniform_LightAmbient
Definition Mii_Shader.h:29
@ cUniform_MaterialDiffuse
Definition Mii_Shader.h:33
@ cUniform_Num
Definition Mii_Shader.h:48
@ cUniform_FogColor
Definition Mii_Shader.h:44
@ cUniform_IT
Definition Mii_Shader.h:22
void setMaterialUniform_(const FFLDrawParam &draw_param) const
void setModel(ModelFFL *model)
Definition Mii_Shader.h:73
agl::TextureSampler mEnvSampler_Star
Definition Mii_Shader.h:169
Sampler
Definition Mii_Shader.h:53
@ cSampler_Lightmap01p
Definition Mii_Shader.h:55
@ cSampler_Num
Definition Mii_Shader.h:57
@ cSampler_Lightmap02p
Definition Mii_Shader.h:56
@ cSampler_Texture
Definition Mii_Shader.h:54
LightParam mLightParam
Definition Mii_Shader.h:171
void setRimUniform_() const
SpecularParam mSpecularParam
Definition Mii_Shader.h:174
sead::Buffer< GX2AttribStream > mAttribute
Definition Mii_Shader.h:164
FFLShaderCallback mCallback
Definition Mii_Shader.h:166
static void initializeShader(agl::ShaderProgramArchive *archive, sead::Heap *heap)
ModelFFL * mModel
Definition Mii_Shader.h:168
Definition RenderObjRenderMgr.h:23
Definition Mii_CafeResInitializer.h:7
Definition Mii_Shader.h:119
sead::Vector3f dir
Definition Mii_Shader.h:121
FFLColor ambient
Definition Mii_Shader.h:122
bool enable
Definition Mii_Shader.h:120
FFLColor specular
Definition Mii_Shader.h:124
FFLColor diffuse
Definition Mii_Shader.h:123
Definition Mii_Shader.h:129
FFLColor diffuse
Definition Mii_Shader.h:131
s32 specular_mode
Definition Mii_Shader.h:134
f32 specular_power
Definition Mii_Shader.h:133
FFLColor specular
Definition Mii_Shader.h:132
FFLColor ambient
Definition Mii_Shader.h:130
Definition Mii_Shader.h:139
s32 color_r
Definition Mii_Shader.h:145
f32 power
Definition Mii_Shader.h:151
s32 color_b
Definition Mii_Shader.h:147
s32 color_g
Definition Mii_Shader.h:146
FFLColor color
Definition Mii_Shader.h:142
s32 color_a
Definition Mii_Shader.h:148
Definition Mii_Shader.h:156
FFLColor hair_specular
Definition Mii_Shader.h:157
f32 mask
Definition Mii_Shader.h:158