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>
34 static_assert(
sizeof(
ViewInfo) == 0x80);
39 virtual void preDrawOpa(s32 view_index, s32 buffer_index,
const agl::lyr::RenderInfo& render_info) = 0;
40 virtual void preDrawXlu(s32 view_index, s32 buffer_index,
const agl::lyr::RenderInfo& render_info) = 0;
41 virtual void postDrawOpa(s32 view_index, s32 buffer_index,
const agl::lyr::RenderInfo& render_info) = 0;
42 virtual void postDrawXlu(s32 view_index, s32 buffer_index,
const agl::lyr::RenderInfo& render_info) = 0;
52 void initialize(s32 view_max_num, s32 render_obj_max_num, s32 opa_buffer_max_num, s32 xlu_buffer_max_num, sead::Heap* heap);
54 void initialize(s32 view_max_num, s32 render_obj_max_num, s32 opa_buffer_alloc_num, s32 opa_buffer_max_num, s32 xlu_buffer_max_num, sead::Heap* heap);
66 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);
70 void drawOpa(s32 view_index,
const agl::lyr::RenderInfo& render_info);
72 void drawXlu(s32 view_index,
const agl::lyr::RenderInfo& render_info);
74 void drawShadowOpa(s32 view_index,
const agl::lyr::RenderInfo& render_info);
103 void setShadowMap(agl::TextureSampler* sampler) { mShadowMap = sampler; }
Definition CullViewFrustum.h:16
Definition RenderObjLayer.h:8
Definition RenderObjRenderMgr.h:37
virtual void preDrawOpa(s32 view_index, s32 buffer_index, const agl::lyr::RenderInfo &render_info)=0
virtual void preDrawXlu(s32 view_index, s32 buffer_index, const agl::lyr::RenderInfo &render_info)=0
virtual void postDrawXlu(s32 view_index, s32 buffer_index, const agl::lyr::RenderInfo &render_info)=0
virtual void postDrawOpa(s32 view_index, s32 buffer_index, const agl::lyr::RenderInfo &render_info)=0
Definition RenderObjRenderMgr.h:23
void drawOpa(s32 view_index, const agl::lyr::RenderInfo &render_info)
void setDrawCallback(CallbackBase *callback)
Definition RenderObjRenderMgr.h:98
virtual ~RenderObjRenderMgr()
void pushBackRenderObj(RenderObj *obj, s32 opa_buffer_index, s32 xlu_buffer_index)
const ModelEnvView & getModelEnvView() const
Definition RenderObjRenderMgr.h:95
static int compare_(const RenderObj *a, const RenderObj *b)
ViewInfo & getViewInfo(s32 view_index)
Definition RenderObjRenderMgr.h:109
void calcViewShapeShadowFlags(agl::sdw::DepthShadow *depth_shadow, RenderObjLayerBase *shadow_layer)
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:106
const ViewInfo & getViewInfo(s32 view_index) const
Definition RenderObjRenderMgr.h:110
bool mDrawShadow
Definition RenderObjRenderMgr.h:128
const agl::env::EnvObjMgr & getEnvObjMgr() const
Definition RenderObjRenderMgr.h:107
CallbackBase * mCallback
Definition RenderObjRenderMgr.h:127
sead::Buffer< ViewInfo > mViewInfo
Definition RenderObjRenderMgr.h:131
sead::PtrArray< RenderObj > mRenderObj
Definition RenderObjRenderMgr.h:121
void initialize(s32 view_max_num, s32 render_obj_max_num, s32 opa_buffer_max_num, s32 xlu_buffer_max_num, sead::Heap *heap)
void drawXlu(s32 view_index, const agl::lyr::RenderInfo &render_info)
sead::PtrArray< RenderObj > mRenderObjShadow
Definition RenderObjRenderMgr.h:124
agl::TextureSampler * mShadowMap
Definition RenderObjRenderMgr.h:129
void loadEnvRes(const void *file)
agl::TextureSampler * mReflectionMap
Definition RenderObjRenderMgr.h:130
agl::env::EnvObjMgr mEnvObjMgr
Definition RenderObjRenderMgr.h:125
agl::TextureSampler * getReflectionMap() const
Definition RenderObjRenderMgr.h:101
CallbackBase * getDrawCallback() const
Definition RenderObjRenderMgr.h:97
agl::TextureSampler * getShadowMap() const
Definition RenderObjRenderMgr.h:100
bool _18
Definition RenderObjRenderMgr.h:120
RenderObjRenderMgr(const sead::SafeString &name)
s32 createView(RenderObjLayerBase *layer)
void setShadowMap(agl::TextureSampler *sampler)
Definition RenderObjRenderMgr.h:103
void drawShadowOpa(s32 view_index, const agl::lyr::RenderInfo &render_info)
ModelEnvView mModelEnvView
Definition RenderObjRenderMgr.h:126
void initialize(s32 view_max_num, s32 render_obj_max_num, s32 opa_buffer_alloc_num, s32 opa_buffer_max_num, s32 xlu_buffer_max_num, sead::Heap *heap)
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:104
sead::ListNode mListNode
Definition RenderObjRenderMgr.h:132
void pushBackRenderObj(RenderObj *obj, s32 opa_buffer_index, s32 xlu_buffer_index, const sead::Vector3f &order_pos)
ModelEnvView & getModelEnvView()
Definition RenderObjRenderMgr.h:94
Definition RenderObj.h:25
Definition RenderObjRenderMgr.h:26
sead::Matrix34f view_mtx
Definition RenderObjRenderMgr.h:28
sead::Matrix44f proj_mtx
Definition RenderObjRenderMgr.h:29
const sead::Matrix44f * depth_shadow_mtx
Definition RenderObjRenderMgr.h:30
RenderObjLayerBase * layer
Definition RenderObjRenderMgr.h:27
const CullViewFrustum * cull
Definition RenderObjRenderMgr.h:31
void * _7c
Definition RenderObjRenderMgr.h:32