sead
Loading...
Searching...
No Matches
aglModelEx.h
Go to the documentation of this file.
1#pragma once
2
3#include <g3d/aglModelShaderAssign.h>
4
5#include <nw/g3d/g3d_ModelObj.h>
6
7namespace agl { namespace g3d {
8
9class ModelEx;
10
12{
13public:
14 MaterialEx();
15 ~MaterialEx();
16
18 {
19 return mpMaterialObj;
20 }
21
22 void init(ModelEx* p_model, u32 index, sead::Heap* heap);
23
24 void bindShaderResAssign(const ShaderProgram* p_program, const char* skin_macro, const char** skin_value_array);
25 void bindShader(const ShaderProgram* p_program);
26
27 void replaceUBO(const nw::g3d::fnd::GfxBuffer_t& buffer);
28 void fixUpUBO();
29
30 bool get_20() const { return _20; }
31
32private:
37 bool _20;
38};
39static_assert(sizeof(MaterialEx) == 0x24, "agl::g3d::MaterialEx size mismatch");
40
41class ModelEx : public nw::g3d::ModelObj
42{
43public:
44 ModelEx();
45 virtual ~ModelEx();
46
48 {
49 return mpShaderAssign[index];
50 }
51
52 MaterialEx& getMaterialEx(s32 index) const
53 {
54 return mpMaterialEx[index];
55 }
56
57 void createEx(sead::Heap* heap);
58 void destroyEx();
59
60private:
63};
64static_assert(sizeof(ModelEx) == 0x40, "agl::g3d::ModelEx size mismatch");
65
66} }
Definition aglShaderProgram.h:16
Definition aglModelEx.h:12
nw::g3d::fnd::GfxBuffer_t mMatBlock
Definition aglModelEx.h:36
nw::g3d::MaterialObj * mpMaterialObj
Definition aglModelEx.h:34
void replaceUBO(const nw::g3d::fnd::GfxBuffer_t &buffer)
Definition aglModelEx.cpp:100
void fixUpUBO()
Definition aglModelEx.cpp:105
bool get_20() const
Definition aglModelEx.h:30
void bindShaderResAssign(const ShaderProgram *p_program, const char *skin_macro, const char **skin_value_array)
Definition aglModelEx.cpp:27
~MaterialEx()
Definition aglModelEx.cpp:15
MaterialEx()
Definition aglModelEx.cpp:6
void init(ModelEx *p_model, u32 index, sead::Heap *heap)
Definition aglModelEx.cpp:20
nw::g3d::MaterialObj * getMaterialObj() const
Definition aglModelEx.h:17
ModelEx * mpModelEx
Definition aglModelEx.h:33
void bindShader(const ShaderProgram *p_program)
Definition aglModelEx.cpp:83
bool _20
Definition aglModelEx.h:37
const ShaderProgram * mpProgram
Definition aglModelEx.h:35
Definition aglModelEx.h:42
void destroyEx()
Definition aglModelEx.cpp:138
MaterialEx * mpMaterialEx
Definition aglModelEx.h:62
void createEx(sead::Heap *heap)
Definition aglModelEx.cpp:122
ModelShaderAssign & getShaderAssign(s32 index) const
Definition aglModelEx.h:47
ModelShaderAssign * mpShaderAssign
Definition aglModelEx.h:61
virtual ~ModelEx()
Definition aglModelEx.cpp:117
ModelEx()
Definition aglModelEx.cpp:110
MaterialEx & getMaterialEx(s32 index) const
Definition aglModelEx.h:52
Definition aglModelShaderAssign.h:62
Definition seadHeap.h:23
Definition aglModelEx.cpp:4
Definition aglDisplayList.cpp:5
Definition seadAssert.h:44