sead
Loading...
Searching...
No Matches
agl::lght::LightMap Class Reference

#include <aglLightMap.h>

Inherits agl::env::EnvObjSet.

Classes

struct  ArrayNode
struct  Context
struct  DrawArg
struct  EnvObjEx
class  LightObj
struct  ViewInfo

Public Types

enum  MappingType { cMappingType_Sphere = 0 , cMappingType_SphereBackside , cMappingType_Cube , cMappingType_Num }
enum  SliceNum { cSliceNum_Sphere = 1 , cSliceNum_SphereBackside = 2 , cSliceNum_Cube = 6 , cSliceNum_Max = 6 }
enum  UniformBlockID { cUniformBlockID_Light = 0 , cUniformBlockID_LightView , cUniformBlockID_LightMip , cUniformBlockID_Num }
enum  Sampler { cSampler_LUT = 0 , cSampler_Normal , cSampler_Num }
enum  LightMemberIndex { cLightMemberIndex_RimPow = 0 , cLightMemberIndex_RimWidth , cLightMemberIndex_ParamLight , cLightMemberNum }
enum  LightViewMemberIndex { cLightViewMemberIndex_RimColor = 0 , cLightViewMemberIndex_LightDir , cLightViewMemberNum }
enum  LightMipMemberIndex { cLightMipMemberIndex_SpecPow = 0 , cLightMipMemberIndex_ParamLightMip , cLightMipMemberNum }

Public Member Functions

 LightMap ()
virtual ~LightMap ()
virtual void genMessageEachObj (sead::hostio::Context *, s32, const env::EnvObj *)
s32 applyEnvObjData (const env::EnvObj *p_obj, const EnvObjEx *p_ex, s32 light_index)
TextureSamplergetTextureSampler ()
const TextureSamplergetTextureSampler () const
void setCalcType (s32 light_index, s32 calc_type)
void setPow (s32 light_index, f32 pow)
void setPowMipMax (s32 light_index, f32 pow_mip_max)
void setColorMinMax (s32 light_index, const sead::Color4f &min, const sead::Color4f &max)
void setDirection (s32 light_index, const sead::Vector3f &direction)
void setLUTType (s32 light_index, s32 lut_type)
MappingType getMappingType () const
s32 getLightingHint () const
void setLightingHint (s32 value)
s32 getChildNum () const
LightMapget (s32 array_index)
const LightMapget (s32 array_index) const
Public Member Functions inherited from agl::env::EnvObjSet
 EnvObjSet ()
virtual ~EnvObjSet ()
void bind (EnvObjMgr *p_env_mgr)
virtual void allocBuffer (const AllocateArg &arg, sead::Heap *heap)
virtual void callbackSyncNameToIndex (utl::INamedObjIndex *p_index)
virtual void callbackSyncIndexToName (utl::INamedObjIndex *p_index)
void setName (const sead::SafeString &name)
const sead::SafeStringgetName () const
bool pushBack (EnvObj *p_obj)
Public Member Functions inherited from agl::env::EnvObjBuffer
 EnvObjBuffer ()
virtual ~EnvObjBuffer ()
virtual void freeBuffer ()
s32 getContainTotal () const
void sort (s32 type)
s32 searchBufferIndex (s32 type, const sead::SafeString &name) const
template<typename T>
s32 searchBufferIndex (const sead::SafeString &name) const
s32 searchTypeIndex (s32 type, const sead::SafeString &name) const
template<typename T>
s32 searchTypeIndex (const sead::SafeString &name) const
s32 searchType (s32 buffer_index) const
EnvObjgetEnvObj (s32 type, s32 index)
const EnvObjgetEnvObj (s32 type, s32 index) const
template<typename T>
T * getEnvObj (s32 index)
template<typename T>
const T * getEnvObj (s32 index) const
s32 getEnvObjStartIndex (s32 type) const
template<typename T>
s32 getEnvObjStartIndex (s32 type) const
s32 getEnvObjMaxNum (s32 type) const
template<typename T>
s32 getEnvObjMaxNum (s32 type) const
Public Member Functions inherited from agl::utl::IParameterList
 IParameterList ()
void addList (IParameterList *child, const sead::SafeString &name)
void addObj (IParameterObj *child, const sead::SafeString &name)
void applyResParameterList (ResParameterList list)
bool isApply (ResParameterList list) const

Static Public Attributes

static const s32 cLightMapMax = 256
static const s32 cLightObjMax = 8
static const s32 cMipMax = 3
static const s32 cBoolMax = 2
static const s32 cLightingHintMax = 3

Protected Member Functions

virtual bool preRead_ ()
virtual void postRead_ ()
virtual bool preWrite_ () const
virtual void callbackNotAppliable_ (utl::IParameterObj *p_param_obj, utl::ResParameter res_param)
Protected Member Functions inherited from agl::utl::IParameterList
virtual void postWrite_ () const
virtual bool isApply_ (ResParameterList list) const
void setParameterListName_ (const sead::SafeString &name)
void applyResParameterList_ (ResParameterList list, bool lerp=false, f32 t=1.0f)
void applyResParameterListB_ (ResParameterList list, f32 t)

Private Types

typedef sead::UnsafeArray< sead::UnsafeArray< sead::GraphicsContextMRT, cBoolMax >, cMappingType_NumGraphicsContext

Private Member Functions

void initialize_ (const LightMapMgr *p_mgr, const env::EnvObjBuffer::AllocateArg &alloc_arg, s32 view_max, sead::Heap *heap)
void update_ ()
void updateGPU_ (bool invalidate_gpu) const
void updateViewGPU_ (s32 view_index, const sead::Matrix34f &view_mtx, bool invalidate_gpu) const
ShaderMode draw_ (s32 view_index, const DrawArg &arg, ShaderMode mode) const
void bindLUT_ (s32 obj_index)
void bindLUT_ ()
void initializeRenderBuffer_ (s32 view_index, u32 mip_level)
void initializeTexture_ (u32 size_sphere, u32 size_cube)
void constructMemory_ (sead::Heap *heap)

Private Attributes

const LightMapMgrmpLightMapMgr
LightMapmpParent
sead::Buffer< ViewInfomViewInfo
TextureSampler mTextureSampler
TextureData mTextureData
sead::BitFlag8 mFlag
s8 mChildIndex
u8 mLightObjNum
s8 mParentIndex
s8 mCopyIndex
sead::UnsafeArray< LightObj, cLightObjMaxmLightObj
sead::Vector3f mDirection
sead::Color4f mLightColor
sead::Buffer< EnvObjExmEnvObjEx
UniformBlock mUniformBlock
sead::Buffer< UniformBlockmMipUniformBlock
sead::PtrArray< LightMapmChild
ArrayNode mArrayNode
utl::Parameter< s32 > mLightingHint
utl::Parameter< bool > mHdrEnable
utl::Parameter< bool > mRimEnable
utl::Parameter< f32 > mRimEffect
utl::Parameter< f32 > mRimWidth
utl::Parameter< f32 > mRimPow
utl::Parameter< f32 > mRimAngle
env::EnvObj::Index mRimLightRef
utl::Parameter< s32 > mMappingType
utl::Parameter< sead::FixedSafeString< 32 > > mParentMap
utl::Parameter< sead::FixedSafeString< 32 > > mCopyMap

Friends

class LightMapMgr

Additional Inherited Members

Protected Attributes inherited from agl::env::EnvObjSet
utl::Parameter< sead::FixedSafeString< 32 > > mName
utl::IParameterList mObjRefArrayParameterList
EnvObjMgrmpEnvObjMgr
utl::IParameterObj mSetting
sead::Buffer< RefmObjRefArrayBuffer
Protected Attributes inherited from agl::env::EnvObjBuffer
u32 _0
u32 _4
sead::Buffer< TypeInfomTypeInfo
sead::Buffer< EnvObj * > mEnvObjPtrBuffer
u32 _18 [4/sizeof(u32)]
Protected Attributes inherited from agl::utl::IParameterList
sead::OffsetList< IParameterListmChildList
sead::OffsetList< IParameterObjmChildObj
sead::FixedSafeString< 64 > mName
u32 mNameHash
sead::ListNode mListNode
IParameterListmpParent

Member Typedef Documentation

◆ GraphicsContext

Member Enumeration Documentation

◆ MappingType

Enumerator
cMappingType_Sphere 
cMappingType_SphereBackside 
cMappingType_Cube 
cMappingType_Num 

◆ SliceNum

Enumerator
cSliceNum_Sphere 
cSliceNum_SphereBackside 
cSliceNum_Cube 
cSliceNum_Max 

◆ UniformBlockID

Enumerator
cUniformBlockID_Light 
cUniformBlockID_LightView 
cUniformBlockID_LightMip 
cUniformBlockID_Num 

◆ Sampler

Enumerator
cSampler_LUT 
cSampler_Normal 
cSampler_Num 

◆ LightMemberIndex

Enumerator
cLightMemberIndex_RimPow 
cLightMemberIndex_RimWidth 
cLightMemberIndex_ParamLight 
cLightMemberNum 

◆ LightViewMemberIndex

Enumerator
cLightViewMemberIndex_RimColor 
cLightViewMemberIndex_LightDir 
cLightViewMemberNum 

◆ LightMipMemberIndex

Enumerator
cLightMipMemberIndex_SpecPow 
cLightMipMemberIndex_ParamLightMip 
cLightMipMemberNum 

Constructor & Destructor Documentation

◆ LightMap()

agl::lght::LightMap::LightMap ( )

◆ ~LightMap()

agl::lght::LightMap::~LightMap ( )
virtual

Member Function Documentation

◆ initialize_()

void agl::lght::LightMap::initialize_ ( const LightMapMgr * p_mgr,
const env::EnvObjBuffer::AllocateArg & alloc_arg,
s32 view_max,
sead::Heap * heap )
private

◆ update_()

void agl::lght::LightMap::update_ ( )
private

◆ updateGPU_()

void agl::lght::LightMap::updateGPU_ ( bool invalidate_gpu) const
private

◆ updateViewGPU_()

void agl::lght::LightMap::updateViewGPU_ ( s32 view_index,
const sead::Matrix34f & view_mtx,
bool invalidate_gpu ) const
private

◆ draw_()

ShaderMode agl::lght::LightMap::draw_ ( s32 view_index,
const DrawArg & arg,
ShaderMode mode ) const
private

◆ bindLUT_() [1/2]

void agl::lght::LightMap::bindLUT_ ( s32 obj_index)
private

◆ bindLUT_() [2/2]

void agl::lght::LightMap::bindLUT_ ( )
private

◆ initializeRenderBuffer_()

void agl::lght::LightMap::initializeRenderBuffer_ ( s32 view_index,
u32 mip_level )
private

◆ initializeTexture_()

void agl::lght::LightMap::initializeTexture_ ( u32 size_sphere,
u32 size_cube )
private

◆ constructMemory_()

void agl::lght::LightMap::constructMemory_ ( sead::Heap * heap)
private

◆ preRead_()

bool agl::lght::LightMap::preRead_ ( )
protectedvirtual

Reimplemented from agl::env::EnvObjSet.

◆ postRead_()

void agl::lght::LightMap::postRead_ ( )
protectedvirtual

Reimplemented from agl::env::EnvObjSet.

◆ genMessageEachObj()

void agl::lght::LightMap::genMessageEachObj ( sead::hostio::Context * ,
s32 ,
const env::EnvObj *  )
virtual

Reimplemented from agl::env::EnvObjSet.

◆ preWrite_()

bool agl::lght::LightMap::preWrite_ ( ) const
protectedvirtual

Reimplemented from agl::utl::IParameterList.

◆ callbackNotAppliable_()

void agl::lght::LightMap::callbackNotAppliable_ ( utl::IParameterObj * p_param_obj,
utl::ResParameter res_param )
protectedvirtual

Reimplemented from agl::utl::IParameterList.

◆ applyEnvObjData()

s32 agl::lght::LightMap::applyEnvObjData ( const env::EnvObj * p_obj,
const EnvObjEx * p_ex,
s32 light_index )

◆ getTextureSampler() [1/2]

TextureSampler & agl::lght::LightMap::getTextureSampler ( )
inline

◆ getTextureSampler() [2/2]

const TextureSampler & agl::lght::LightMap::getTextureSampler ( ) const
inline

◆ setCalcType()

void agl::lght::LightMap::setCalcType ( s32 light_index,
s32 calc_type )
inline

◆ setPow()

void agl::lght::LightMap::setPow ( s32 light_index,
f32 pow )
inline

◆ setPowMipMax()

void agl::lght::LightMap::setPowMipMax ( s32 light_index,
f32 pow_mip_max )
inline

◆ setColorMinMax()

void agl::lght::LightMap::setColorMinMax ( s32 light_index,
const sead::Color4f & min,
const sead::Color4f & max )
inline

◆ setDirection()

void agl::lght::LightMap::setDirection ( s32 light_index,
const sead::Vector3f & direction )
inline

◆ setLUTType()

void agl::lght::LightMap::setLUTType ( s32 light_index,
s32 lut_type )
inline

◆ getMappingType()

MappingType agl::lght::LightMap::getMappingType ( ) const
inline

◆ getLightingHint()

s32 agl::lght::LightMap::getLightingHint ( ) const
inline

◆ setLightingHint()

void agl::lght::LightMap::setLightingHint ( s32 value)
inline

◆ getChildNum()

s32 agl::lght::LightMap::getChildNum ( ) const
inline

◆ get() [1/2]

LightMap * agl::lght::LightMap::get ( s32 array_index)
inline

◆ get() [2/2]

const LightMap * agl::lght::LightMap::get ( s32 array_index) const
inline

◆ LightMapMgr

friend class LightMapMgr
friend

Member Data Documentation

◆ cLightMapMax

const s32 agl::lght::LightMap::cLightMapMax = 256
static

◆ cLightObjMax

const s32 agl::lght::LightMap::cLightObjMax = 8
static

◆ cMipMax

const s32 agl::lght::LightMap::cMipMax = 3
static

◆ cBoolMax

const s32 agl::lght::LightMap::cBoolMax = 2
static

◆ cLightingHintMax

const s32 agl::lght::LightMap::cLightingHintMax = 3
static

◆ mpLightMapMgr

const LightMapMgr* agl::lght::LightMap::mpLightMapMgr
private

◆ mpParent

LightMap* agl::lght::LightMap::mpParent
private

◆ mViewInfo

sead::Buffer<ViewInfo> agl::lght::LightMap::mViewInfo
private

◆ mTextureSampler

TextureSampler agl::lght::LightMap::mTextureSampler
private

◆ mTextureData

TextureData agl::lght::LightMap::mTextureData
private

◆ mFlag

sead::BitFlag8 agl::lght::LightMap::mFlag
private

◆ mChildIndex

s8 agl::lght::LightMap::mChildIndex
private

◆ mLightObjNum

u8 agl::lght::LightMap::mLightObjNum
private

◆ mParentIndex

s8 agl::lght::LightMap::mParentIndex
private

◆ mCopyIndex

s8 agl::lght::LightMap::mCopyIndex
private

◆ mLightObj

sead::UnsafeArray<LightObj, cLightObjMax> agl::lght::LightMap::mLightObj
private

◆ mDirection

sead::Vector3f agl::lght::LightMap::mDirection
private

◆ mLightColor

sead::Color4f agl::lght::LightMap::mLightColor
private

◆ mEnvObjEx

sead::Buffer<EnvObjEx> agl::lght::LightMap::mEnvObjEx
private

◆ mUniformBlock

UniformBlock agl::lght::LightMap::mUniformBlock
private

◆ mMipUniformBlock

sead::Buffer<UniformBlock> agl::lght::LightMap::mMipUniformBlock
private

◆ mChild

sead::PtrArray<LightMap> agl::lght::LightMap::mChild
private

◆ mArrayNode

ArrayNode agl::lght::LightMap::mArrayNode
private

◆ mLightingHint

utl::Parameter<s32> agl::lght::LightMap::mLightingHint
private

◆ mHdrEnable

utl::Parameter<bool> agl::lght::LightMap::mHdrEnable
private

◆ mRimEnable

utl::Parameter<bool> agl::lght::LightMap::mRimEnable
private

◆ mRimEffect

utl::Parameter<f32> agl::lght::LightMap::mRimEffect
private

◆ mRimWidth

utl::Parameter<f32> agl::lght::LightMap::mRimWidth
private

◆ mRimPow

utl::Parameter<f32> agl::lght::LightMap::mRimPow
private

◆ mRimAngle

utl::Parameter<f32> agl::lght::LightMap::mRimAngle
private

◆ mRimLightRef

env::EnvObj::Index agl::lght::LightMap::mRimLightRef
private

◆ mMappingType

utl::Parameter<s32> agl::lght::LightMap::mMappingType
private

◆ mParentMap

utl::Parameter< sead::FixedSafeString<32> > agl::lght::LightMap::mParentMap
private

◆ mCopyMap

utl::Parameter< sead::FixedSafeString<32> > agl::lght::LightMap::mCopyMap
private