3#include <graphics/ModelEnvView.h>
5#include <common/aglTextureSampler.h>
6#include <container/seadBuffer.h>
7#include <container/seadListImpl.h>
8#include <container/seadPtrArray.h>
9#include <environment/aglEnvObjMgr.h>
10#include <gfx/seadCamera.h>
11#include <gfx/seadProjection.h>
12#include <heap/seadDisposer.h>
13#include <layer/aglRenderInfo.h>
14#include <math/seadMatrix.h>
15#include <prim/seadNamable.h>
16#include <shadow/aglDepthShadow.h>
35 static_assert(
sizeof(
ViewInfo) == 0x80);
40 virtual void preDrawOpa(s32 view_index, s32 render_pass,
const agl::lyr::RenderInfo& render_info) = 0;
41 virtual void preDrawXlu(s32 view_index, s32 render_pass,
const agl::lyr::RenderInfo& render_info) = 0;
42 virtual void postDrawOpa(s32 view_index, s32 render_pass,
const agl::lyr::RenderInfo& render_info) = 0;
43 virtual void postDrawXlu(s32 view_index, s32 render_pass,
const agl::lyr::RenderInfo& render_info) = 0;
53 void initialize(s32 view_max_num, s32 render_obj_max_num, s32 opa_render_pass_max_num, s32 xlu_render_pass_max_num, sead::Heap* heap);
55 void initialize(s32 view_max_num, s32 render_obj_max_num, s32 opa_render_pass_obj_buffer_alloc_num, s32 opa_render_pass_max_num, s32 xlu_render_pass_max_num, sead::Heap* heap);
67 void calcView(s32 view_index,
const sead::Camera& camera,
const sead::Projection& projection,
const sead::Matrix44f* depth_shadow_mtx,
const CullViewFrustum* cull,
void* param_6);
71 void drawOpa(s32 view_index,
const agl::lyr::RenderInfo& render_info);
73 void drawXlu(s32 view_index,
const agl::lyr::RenderInfo& render_info);
75 void drawShadowOpa(s32 view_index,
const agl::lyr::RenderInfo& render_info);
104 void setShadowMap(agl::TextureSampler* sampler) { mShadowMap = sampler; }
Definition CullViewFrustum.h:16
Definition RenderObjLayer.h:9
Definition RenderObjRenderMgr.h:38
virtual void postDrawOpa(s32 view_index, s32 render_pass, const agl::lyr::RenderInfo &render_info)=0
Opa Render Pass End.
virtual void preDrawXlu(s32 view_index, s32 render_pass, const agl::lyr::RenderInfo &render_info)=0
Xlu Render Pass Start.
virtual void preDrawOpa(s32 view_index, s32 render_pass, const agl::lyr::RenderInfo &render_info)=0
Opa Render Pass Start.
virtual void postDrawXlu(s32 view_index, s32 render_pass, const agl::lyr::RenderInfo &render_info)=0
Xlu Render Pass End.
Definition RenderObjRenderMgr.h:24
void drawOpa(s32 view_index, const agl::lyr::RenderInfo &render_info)
void setDrawCallback(CallbackBase *callback)
Definition RenderObjRenderMgr.h:99
virtual ~RenderObjRenderMgr()
const ModelEnvView & getModelEnvView() const
Definition RenderObjRenderMgr.h:96
void initialize(s32 view_max_num, s32 render_obj_max_num, s32 opa_render_pass_obj_buffer_alloc_num, s32 opa_render_pass_max_num, s32 xlu_render_pass_max_num, sead::Heap *heap)
static int compare_(const RenderObj *a, const RenderObj *b)
ViewInfo & getViewInfo(s32 view_index)
Definition RenderObjRenderMgr.h:110
void calcViewShapeShadowFlags(agl::sdw::DepthShadow *depth_shadow, RenderObjLayerBase *shadow_layer)
void initialize(s32 view_max_num, s32 render_obj_max_num, s32 opa_render_pass_max_num, s32 xlu_render_pass_max_num, sead::Heap *heap)
void drawReflectionXlu(s32 view_index, const agl::lyr::RenderInfo &render_info)
void calcGPU(s32 view_index)
void drawReflectionOpa(s32 view_index, const agl::lyr::RenderInfo &render_info)
agl::env::EnvObjMgr & getEnvObjMgr()
Definition RenderObjRenderMgr.h:107
const ViewInfo & getViewInfo(s32 view_index) const
Definition RenderObjRenderMgr.h:111
bool mDrawShadow
Definition RenderObjRenderMgr.h:129
const agl::env::EnvObjMgr & getEnvObjMgr() const
Definition RenderObjRenderMgr.h:108
CallbackBase * mCallback
Definition RenderObjRenderMgr.h:128
sead::Buffer< ViewInfo > mViewInfo
Definition RenderObjRenderMgr.h:132
sead::PtrArray< RenderObj > mRenderObj
Definition RenderObjRenderMgr.h:122
void pushBackRenderObj(RenderObj *obj, s32 opa_render_pass, s32 xlu_render_pass)
void drawXlu(s32 view_index, const agl::lyr::RenderInfo &render_info)
void pushBackRenderObj(RenderObj *obj, s32 opa_render_pass, s32 xlu_render_pass, const sead::Vector3f &order_pos)
sead::PtrArray< RenderObj > mRenderObjShadow
Definition RenderObjRenderMgr.h:125
agl::TextureSampler * mShadowMap
Definition RenderObjRenderMgr.h:130
void loadEnvRes(const void *file)
agl::TextureSampler * mReflectionMap
Definition RenderObjRenderMgr.h:131
agl::env::EnvObjMgr mEnvObjMgr
Definition RenderObjRenderMgr.h:126
agl::TextureSampler * getReflectionMap() const
Definition RenderObjRenderMgr.h:102
CallbackBase * getDrawCallback() const
Definition RenderObjRenderMgr.h:98
agl::TextureSampler * getShadowMap() const
Definition RenderObjRenderMgr.h:101
bool _18
Definition RenderObjRenderMgr.h:121
RenderObjRenderMgr(const sead::SafeString &name)
s32 createView(RenderObjLayerBase *layer)
void setShadowMap(agl::TextureSampler *sampler)
Definition RenderObjRenderMgr.h:104
void drawShadowOpa(s32 view_index, const agl::lyr::RenderInfo &render_info)
ModelEnvView mModelEnvView
Definition RenderObjRenderMgr.h:127
void calcView(s32 view_index, const sead::Camera &camera, const sead::Projection &projection, const sead::Matrix44f *depth_shadow_mtx, const CullViewFrustum *cull, void *param_6)
void setReflectionMap(agl::TextureSampler *sampler)
Definition RenderObjRenderMgr.h:105
sead::ListNode mListNode
Definition RenderObjRenderMgr.h:133
ModelEnvView & getModelEnvView()
Definition RenderObjRenderMgr.h:95
Definition RenderObj.h:25
Definition RenderObjRenderMgr.h:27
sead::Matrix34f view_mtx
Definition RenderObjRenderMgr.h:29
sead::Matrix44f proj_mtx
Definition RenderObjRenderMgr.h:30
const sead::Matrix44f * depth_shadow_mtx
Definition RenderObjRenderMgr.h:31
RenderObjLayerBase * layer
Definition RenderObjRenderMgr.h:28
const CullViewFrustum * cull
Definition RenderObjRenderMgr.h:32
void * _7c
Definition RenderObjRenderMgr.h:33