New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
RenderObj.h
Go to the documentation of this file.
1#pragma once
2
3#include <math/seadMatrix.h>
4#include <math/seadVector.h>
5#include <prim/seadRuntimeTypeInfo.h>
6
8{
9 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9D00
10 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9F94
12
13public:
15 {
16 }
17
18 virtual void calc() = 0;
19};
20static_assert(sizeof(RenderObjBase) == 4);
21
23
25{
26 // getRuntimeTypeInfoStatic()::typeInfo initialization guard variable Address: 0x101E9D04
27 // getRuntimeTypeInfoStatic()::typeInfo Address: 0x101E9F98
28 SEAD_RTTI_OVERRIDE(RenderObj, RenderObjBase)
29
30public:
33 {
34 }
35
37 virtual void updateView(s32 view_index, const sead::Matrix34f& view_mtx, const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr) = 0;
38 virtual void drawOpa(s32 view_index, const sead::Matrix34f& view_mtx, const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr) = 0;
39 virtual void drawXlu(s32 view_index, const sead::Matrix34f& view_mtx, const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr) = 0;
40 virtual void drawShadowOpa(s32 view_index, const sead::Matrix34f& view_mtx, const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr) { }
41 virtual void drawReflectionOpa(s32 view_index, const sead::Matrix34f& view_mtx, const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr) { }
42 virtual void drawReflectionXlu(s32 view_index, const sead::Matrix34f& view_mtx, const sead::Matrix44f& proj_mtx, RenderObjRenderMgr* render_mgr) { }
43 virtual bool hasShadow() const { return false; }
44
45 sead::Vector3f& getOrderPos() { return mOrderPos; }
46 const sead::Vector3f& getOrderPos() const { return mOrderPos; }
47
48protected:
49 sead::Vector3f mOrderPos; // I think. Precisely used for z ordering.
50};
51static_assert(sizeof(RenderObj) == 0x10);
Definition RenderObj.h:8
Definition RenderObjRenderMgr.h:23
Definition RenderObj.h:25
sead::Vector3f mOrderPos
Definition RenderObj.h:49
virtual void drawOpa(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)=0
virtual void updateView(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)=0
virtual void drawShadowOpa(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
Definition RenderObj.h:40
virtual bool hasShadow() const
Definition RenderObj.h:43
virtual void drawReflectionOpa(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
Definition RenderObj.h:41
const sead::Vector3f & getOrderPos() const
Definition RenderObj.h:46
sead::Vector3f & getOrderPos()
Definition RenderObj.h:45
virtual void drawXlu(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)=0
virtual void drawReflectionXlu(s32 view_index, const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, RenderObjRenderMgr *render_mgr)
Definition RenderObj.h:42