3#include <graphics/RenderObj.h>
5#include <container/seadSafeArray.h>
6#include <framework/seadCalculateTask.h>
7#include <framework/seadTaskMgr.h>
8#include <gfx/seadCamera.h>
9#include <gfx/seadProjection.h>
10#include <layer/aglDrawMethod.h>
11#include <lighting/aglLightMapMgr.h>
13#include <nw/g3d/res/g3d_ResTexture.h>
112 static_assert(
sizeof(
CalcObj) == 8);
152 const sead::Camera* camera,
const sead::Projection* projection,
153 const sead::Camera* camera_drc =
nullptr,
const sead::Projection* projection_drc =
nullptr
201 void draw_(
const agl::lyr::RenderInfo& render_info,
View view,
bool view_dependent,
const sead::Matrix34f* view_mtx,
const sead::Projection* projection);
204 void drawMain_(
const agl::lyr::RenderInfo& render_info);
Definition LightMapMgr.h:103
agl::lght::LightMapMgr * mLightMapMgr
Definition LightMapMgr.h:108
Definition LightMapMgr.h:18
void initializeViewDependent_()
void setModelLightMapForCourseSelect(ModelG3d *model) const
const sead::Projection * mProjection
Definition LightMapMgr.h:225
AmbColorType
Definition LightMapMgr.h:76
@ cAmbColorType_Num
Definition LightMapMgr.h:88
@ cAmbColorType_WaterHalfBehindColor0
Definition LightMapMgr.h:86
@ cAmbColorType_WaterHalfFrontKonst1
Definition LightMapMgr.h:85
@ cAmbColorType_EffectColor15_0
Definition LightMapMgr.h:81
@ cAmbColorType_WaterHalfFrontKonst0
Definition LightMapMgr.h:84
@ cAmbColorType_WaterHalfFrontColor0
Definition LightMapMgr.h:83
@ cAmbColorType_EffectColor14_1
Definition LightMapMgr.h:80
@ cAmbColorType_WaterHalfBehindColor1
Definition LightMapMgr.h:87
@ cAmbColorType_EffectColor15_1
Definition LightMapMgr.h:82
@ cAmbColorType_EffectColor13_1
Definition LightMapMgr.h:78
@ cAmbColorType_EffectColor14_0
Definition LightMapMgr.h:79
@ cAmbColorType_EffectColor13_0
Definition LightMapMgr.h:77
void loadAglEnvBinaryWithType(const sead::SafeString &name, const sead::SafeString &type, sead::Heap *heap=nullptr)
void loadAglEnvBinary(const sead::SafeString &name, sead::Heap *heap=nullptr)
static const s32 cLightMapHemisphereLightNum
Definition LightMapMgr.h:62
const void * mAglEnvBinary2
Definition LightMapMgr.h:240
void loadAglLmapBinary(const sead::SafeString &name, sead::Heap *heap=nullptr)
static const s32 cLightMapNumAll
Definition LightMapMgr.h:60
const sead::Camera * mCameraDRC
Definition LightMapMgr.h:226
agl::lyr::DrawMethod mDrawMethodMain
Definition LightMapMgr.h:216
const sead::Projection * mProjectionDRC
Definition LightMapMgr.h:227
const agl::lght::LightMapMgr & getLightMapMgr() const
Definition LightMapMgr.h:131
void initialize(sead::Heap *heap=nullptr)
static const s32 cHemisphereLightNum
Definition LightMapMgr.h:63
RenderStep
Definition LightMapMgr.h:93
@ cRenderStep_CalcView
Definition LightMapMgr.h:94
@ cRenderStep_UpdateGPUBuffer
Definition LightMapMgr.h:95
@ cRenderStep_Num
Definition LightMapMgr.h:97
@ cRenderStep_LightDraw
Definition LightMapMgr.h:96
static const s32 cDirectionalLightNumCourse
Definition LightMapMgr.h:71
EnvTypeCourseSelect
Definition LightMapMgr.h:42
@ cEnvTypeCourseSelect_W6b
Definition LightMapMgr.h:51
@ cEnvTypeCourseSelect_W4a
Definition LightMapMgr.h:47
@ cEnvTypeCourseSelect_Num
Definition LightMapMgr.h:56
@ cEnvTypeCourseSelect_W8b
Definition LightMapMgr.h:54
@ cEnvTypeCourseSelect_W5b
Definition LightMapMgr.h:49
@ cEnvTypeCourseSelect_W1a
Definition LightMapMgr.h:43
@ cEnvTypeCourseSelect_W5a
Definition LightMapMgr.h:48
@ cEnvTypeCourseSelect_W2b
Definition LightMapMgr.h:45
@ cEnvTypeCourseSelect_W2a
Definition LightMapMgr.h:44
@ cEnvTypeCourseSelect_W7a
Definition LightMapMgr.h:52
@ cEnvTypeCourseSelect_W6a
Definition LightMapMgr.h:50
@ cEnvTypeCourseSelect_W9a
Definition LightMapMgr.h:55
@ cEnvTypeCourseSelect_W8a
Definition LightMapMgr.h:53
@ cEnvTypeCourseSelect_W3a
Definition LightMapMgr.h:46
agl::env::EnvObjMgr mEnvObjMgr
Definition LightMapMgr.h:222
bool mOverrideModelLightMap
Definition LightMapMgr.h:241
nw::g3d::res::ResTextureData mResTextureData[cLightMapNumAll]
Definition LightMapMgr.h:215
void initializeForCourseSelect(sead::Heap *heap=nullptr)
agl::lyr::DrawMethod mDrawMethodReflection
Definition LightMapMgr.h:218
View
Definition LightMapMgr.h:115
@ cView_Num
Definition LightMapMgr.h:120
@ cView_MainDRC
Definition LightMapMgr.h:117
@ cView_ReflectionDRC
Definition LightMapMgr.h:119
@ cView_Reflection
Definition LightMapMgr.h:118
@ cView_Main
Definition LightMapMgr.h:116
const void * mAglEnvBinary1
Definition LightMapMgr.h:239
void loadAglEnvBinary(void *data, s32=-1)
static const s32 cLightMapDirectionalLightNumCourse
Definition LightMapMgr.h:66
const sead::Camera * mCamera
Definition LightMapMgr.h:224
static const s32 cDirectionalLightNumAll
Definition LightMapMgr.h:73
void loadAglEnvBinary(const sead::SafeString &name, s32=-1, sead::Heap *heap=nullptr)
static const s32 cDirectionalLightNumMain
Definition LightMapMgr.h:70
LightMapMgr(const sead::TaskConstructArg &arg)
void initializeViewDependent(const sead::Camera *camera, const sead::Projection *projection, const sead::Camera *camera_drc=nullptr, const sead::Projection *projection_drc=nullptr)
const sead::SafeString & getEnvTypeCourseStr(EnvTypeCourse type) const
bool mIsViewDependent
Definition LightMapMgr.h:223
void drawMainDRC_(const agl::lyr::RenderInfo &render_info)
static const s32 cLightMapDirectionalLightNum
Definition LightMapMgr.h:68
void draw_(const agl::lyr::RenderInfo &render_info, View view, bool view_dependent, const sead::Matrix34f *view_mtx, const sead::Projection *projection)
void initializeViewIndependent()
sead::SafeArray< s32, cAmbColorType_Num > mAmbientLightTypeIndex
Definition LightMapMgr.h:238
nw::g3d::res::ResTexture * mResTexture[cLightMapNumAll]
Definition LightMapMgr.h:214
static const s32 cDirectionalLightNumCourseSelect
Definition LightMapMgr.h:72
void drawMain_(const agl::lyr::RenderInfo &render_info)
void loadAglEnvBinaryWithLerpForCourseSelect(f32 t)
u32 _cc[4/sizeof(u32)]
Definition LightMapMgr.h:213
CalcObj mCalcObj
Definition LightMapMgr.h:221
agl::lyr::DrawMethod mDrawMethodMainDRC
Definition LightMapMgr.h:217
static const s32 cLightMapDirectionalLightNumCourseSelect
Definition LightMapMgr.h:67
void drawReflectionDRC_(const agl::lyr::RenderInfo &render_info)
void drawReflection_(const agl::lyr::RenderInfo &render_info)
agl::lght::LightMapMgr mLightMapMgr
Definition LightMapMgr.h:220
void loadAglLmapBinary(void *data)
const agl::TextureSampler & getLightmap1(EnvTypeCourse type) const
void setOverrideModelLightMap(bool enable)
Definition LightMapMgr.h:134
const agl::TextureSampler & getLightmap2(EnvTypeCourse type) const
void setCobModelLightMapForCourseSelect(ModelG3d *model, u8 world, u8 world_sub_letter) const
void setModelLightMap(ModelG3d *model, bool set_mdl_dl_dirty) const
static const s32 cLightMapDirectionalLightNumMain
Definition LightMapMgr.h:65
agl::lyr::DrawMethod mDrawMethodReflectionDRC
Definition LightMapMgr.h:219
void getAmbColor(sead::Color4f *color, AmbColorType type) const
EnvTypeCourse
Definition LightMapMgr.h:29
@ cEnvTypeCourse_Enemy
Definition LightMapMgr.h:30
@ cEnvTypeCourse_Player
Definition LightMapMgr.h:34
@ cEnvTypeCourse_DistantView
Definition LightMapMgr.h:35
@ cEnvTypeCourse_Item
Definition LightMapMgr.h:33
@ cEnvTypeCourse_MapObj
Definition LightMapMgr.h:32
@ cEnvTypeCourse_Effect
Definition LightMapMgr.h:36
@ cEnvTypeCourse_Num
Definition LightMapMgr.h:37
@ cEnvTypeCourse_Boss
Definition LightMapMgr.h:31
agl::lght::LightMapMgr & getLightMapMgr()
Definition LightMapMgr.h:130
bool overrideModelLightMap() const
Definition LightMapMgr.h:133
void setModelLightMapWithName_(ModelG3d *model, const sead::SafeString &name, s32 idx_lghtmap, s32 model_light_map_index) const