sead
Loading...
Searching...
No Matches
agl::detail::ShaderHolder Class Reference

#include <aglShaderHolder.h>

Inherits sead::hostio::Node.

Public Types

enum  ShaderType {
  cShader_DevUtil = 0 , cShader_DepthVisualize , cShader_Texture , cShader_Reduce2 ,
  cShader_Reduce4 , cShader_Reduce8 , cShader_Reduce16 , cShader_ColorCorrection ,
  cShader_ColorCorrectionMap , cShader_XluSnap , cShader_ImageFilterGaussian , cShader_ImageFilterCubic ,
  cShader_ImageFilterBlur , cShader_TextureMultColor , cShader_Red , cShader_Green ,
  cShader_Blue , cShader_Alpha , cShader_DepthRaw , cShader_DepthLinear ,
  cShader_Texture2DArray , cShader_Texture3D , cShader_TextureCubeMap , cShader_TextureCubeMapArray ,
  cShader_TextureTexCoord , cShader_TextureMultiSample1x , cShader_TextureMultiSample2x , cShader_TextureMultiSample4x ,
  cShader_TextureMultiSample8x , cShader_AlphaModify , cShader_TextureColorDrift , cShader_ColorQuad ,
  cShader_TopBottomColor , cShader_DrawImm , cShader_DrawFan , cShader_FrameBufferFlipY ,
  cShader_FrameBufferNoFlip , cShader_BloomMask , cShader_BloomGaussian , cShader_BloomCompose ,
  cShader_HDRCompose , cShader_DOFNearMask , cShader_DOFMipmap , cShader_DOFDepthMask ,
  cShader_DOFFinal , cShader_DOFVignetting , cShader_FXAA , cShader_FXAAColorOnly ,
  cShader_FXAALuma , cShader_FXAAReprojection , cShader_FilterAAReprojection , cShader_ReduceAA ,
  cShader_Lightmap , cShader_LightmapClear , cShader_LightPrePassPointLight , cShader_LightPrePassSpotLight ,
  cShader_LightPrePassProjLight , cShader_LightPrePassDoubleSamePosWithBack , cShader_LightPrePassTBR , cShader_LightPrePassTBRSp ,
  cShader_LightPrePassQuad , cShader_LightPrePassDev , cShader_MultiFilterReduce , cShader_MultiFilterExpand ,
  cShader_StaticDepthShadow , cShader_CubeMapGaussian , cShader_CubeMapColorCorrection , cShader_CubeMapHeadExtract ,
  cShader_CubeMapConvoluteFirst , cShader_CubeMapConvoluteOther , cShader_CubeMapHDRCompose , cShader_CubeMapDrawIlluminant ,
  cShader_NV12Decode , cShader_ScreenPick , cShader_DebugCubeMap , cShader_DepthShadowDebug ,
  cShader_VSM , cShader_SSAOBuffer , cShader_SSAOBlur , cShader_SSAOReduce ,
  cShader_SSAOMask , cShader_OcclusionQuery , cShader_OcclusionRendererClearBuf , cShader_OcclusionRenderer ,
  cShader_OccludedEffectLensFlare , cShader_TextureCompress , cShader_ShadowMask , cShader_RadialBlur ,
  cShader_RadialBlurCompose , cShader_DebugPrimitive , cShader_DebugShapeInstanced , cShader_DebugPointInstanced ,
  cShader_DebugLineInstanced , cShader_DebugTriangleInstanced , cShader_Num
}
enum  ArchiveType { cArchiveType_Common = 0 , cArchiveType_Technique , cArchiveType_SimpleModel , cArchiveType_Num }

Public Member Functions

 ShaderHolder ()
virtual ~ShaderHolder ()
void setCreateDisplayLists (bool create)
void initialize (sead::ArchiveRes *p_arc, sead::Heap *heap)
ShaderProgramgetShader (ShaderType shader)
ShaderProgramArchivegetArchive (ArchiveType archive)

Private Attributes

sead::FixedPtrArray< ShaderProgram, cShader_NummProgram
sead::UnsafeArray< ShaderProgramArchive, cArchiveType_NummProgramArchive
bool mCreateDisplayLists

Member Enumeration Documentation

◆ ShaderType

Enumerator
cShader_DevUtil 
cShader_DepthVisualize 
cShader_Texture 
cShader_Reduce2 
cShader_Reduce4 
cShader_Reduce8 
cShader_Reduce16 
cShader_ColorCorrection 
cShader_ColorCorrectionMap 
cShader_XluSnap 
cShader_ImageFilterGaussian 
cShader_ImageFilterCubic 
cShader_ImageFilterBlur 
cShader_TextureMultColor 
cShader_Red 
cShader_Green 
cShader_Blue 
cShader_Alpha 
cShader_DepthRaw 
cShader_DepthLinear 
cShader_Texture2DArray 
cShader_Texture3D 
cShader_TextureCubeMap 
cShader_TextureCubeMapArray 
cShader_TextureTexCoord 
cShader_TextureMultiSample1x 
cShader_TextureMultiSample2x 
cShader_TextureMultiSample4x 
cShader_TextureMultiSample8x 
cShader_AlphaModify 
cShader_TextureColorDrift 
cShader_ColorQuad 
cShader_TopBottomColor 
cShader_DrawImm 
cShader_DrawFan 
cShader_FrameBufferFlipY 
cShader_FrameBufferNoFlip 
cShader_BloomMask 
cShader_BloomGaussian 
cShader_BloomCompose 
cShader_HDRCompose 
cShader_DOFNearMask 
cShader_DOFMipmap 
cShader_DOFDepthMask 
cShader_DOFFinal 
cShader_DOFVignetting 
cShader_FXAA 
cShader_FXAAColorOnly 
cShader_FXAALuma 
cShader_FXAAReprojection 
cShader_FilterAAReprojection 
cShader_ReduceAA 
cShader_Lightmap 
cShader_LightmapClear 
cShader_LightPrePassPointLight 
cShader_LightPrePassSpotLight 
cShader_LightPrePassProjLight 
cShader_LightPrePassDoubleSamePosWithBack 
cShader_LightPrePassTBR 
cShader_LightPrePassTBRSp 
cShader_LightPrePassQuad 
cShader_LightPrePassDev 
cShader_MultiFilterReduce 
cShader_MultiFilterExpand 
cShader_StaticDepthShadow 
cShader_CubeMapGaussian 
cShader_CubeMapColorCorrection 
cShader_CubeMapHeadExtract 
cShader_CubeMapConvoluteFirst 
cShader_CubeMapConvoluteOther 
cShader_CubeMapHDRCompose 
cShader_CubeMapDrawIlluminant 
cShader_NV12Decode 
cShader_ScreenPick 
cShader_DebugCubeMap 
cShader_DepthShadowDebug 
cShader_VSM 
cShader_SSAOBuffer 
cShader_SSAOBlur 
cShader_SSAOReduce 
cShader_SSAOMask 
cShader_OcclusionQuery 
cShader_OcclusionRendererClearBuf 
cShader_OcclusionRenderer 
cShader_OccludedEffectLensFlare 
cShader_TextureCompress 
cShader_ShadowMask 
cShader_RadialBlur 
cShader_RadialBlurCompose 
cShader_DebugPrimitive 
cShader_DebugShapeInstanced 
cShader_DebugPointInstanced 
cShader_DebugLineInstanced 
cShader_DebugTriangleInstanced 
cShader_Num 

◆ ArchiveType

Enumerator
cArchiveType_Common 
cArchiveType_Technique 
cArchiveType_SimpleModel 
cArchiveType_Num 

Constructor & Destructor Documentation

◆ ShaderHolder()

agl::detail::ShaderHolder::ShaderHolder ( )

◆ ~ShaderHolder()

agl::detail::ShaderHolder::~ShaderHolder ( )
virtual

Member Function Documentation

◆ setCreateDisplayLists()

void agl::detail::ShaderHolder::setCreateDisplayLists ( bool create)
inline

◆ initialize()

void agl::detail::ShaderHolder::initialize ( sead::ArchiveRes * p_arc,
sead::Heap * heap )

◆ getShader()

ShaderProgram & agl::detail::ShaderHolder::getShader ( ShaderType shader)
inline

◆ getArchive()

ShaderProgramArchive & agl::detail::ShaderHolder::getArchive ( ArchiveType archive)
inline

Member Data Documentation

◆ mProgram

sead::FixedPtrArray<ShaderProgram, cShader_Num> agl::detail::ShaderHolder::mProgram
private

◆ mProgramArchive

sead::UnsafeArray<ShaderProgramArchive, cArchiveType_Num> agl::detail::ShaderHolder::mProgramArchive
private

◆ mCreateDisplayLists

bool agl::detail::ShaderHolder::mCreateDisplayLists
private