CommonLibVR
RE::BSUtilityShader Class Reference

#include <BSUtilityShader.h>

Inheritance diagram for RE::BSUtilityShader:
RE::BSShader RE::NiRefObject RE::NiBoneMatrixSetterI RE::BSReloadShaderI

Public Types

enum class  Flags {
  None = 0 , Vc = 1 << 0 , Texture = 1 << 1 , Skinned = 1 << 2 ,
  Normals = 1 << 3 , BinormalTangent = 1 << 4 , AlphaTest = 1 << 7 , LodLandscape = 1 << 8 ,
  RenderNormal = 1 << 9 , RenderNormalFalloff = 1 << 10 , RenderNormalClamp = 1 << 11 , RenderNormalClear = 1 << 12 ,
  RenderDepth = 1 << 13 , RenderShadowmap = 1 << 14 , RenderShadowmapClamped = 1 << 15 , GrayscaleToAlpha = 1 << 15 ,
  RenderShadowmapPb = 1 << 16 , AdditionalAlphaMask = 1 << 16 , DepthWriteDecals = 1 << 17 , DebugShadowSplit = 1 << 18 ,
  DebugColor = 1 << 19 , GrayscaleMask = 1 << 20 , RenderShadowmask = 1 << 21 , RenderShadowmaskSpot = 1 << 22 ,
  RenderShadowmaskPb = 1 << 23 , RenderShadowmaskDpb = 1 << 24 , RenderBaseTexture = 1 << 25 , TreeAnim = 1 << 26 ,
  LodObject = 1 << 27 , LocalMapFogOfWar = 1 << 28 , OpaqueEffect = 1 << 29
}
 

Public Member Functions

 ~BSUtilityShader () override
 
bool SetupTechnique (std::uint32_t globalTechnique) override
 
void RestoreTechnique (std::uint32_t globalTechnique) override
 
void SetupGeometry (BSRenderPass *pass, uint32_t flags) override
 
void RestoreGeometry (BSRenderPass *pass, uint32_t flags) override
 
- Public Member Functions inherited from RE::BSShader
 ~BSShader () override
 
virtual void SetupMaterial (const BSShaderMaterial *a_material)
 
virtual void RestoreMaterial (const BSShaderMaterial *a_material)
 
virtual void SetupGeometry (BSRenderPass *a_currentPass, std::uint32_t a_flags)=0
 
virtual void RestoreGeometry (BSRenderPass *a_currentPass, std::uint32_t a_renderFlags)=0
 
virtual void GetTechniqueName (std::uint32_t a_techniqueID, char *a_buffer, std::uint32_t a_bufferSize)
 
virtual void ReloadShaders (bool a_clear)
 
RE::BSRenderPassMakeRenderPass (BSShaderProperty *a_property, BSGeometry *a_geometry, uint32_t a_technique, uint8_t a_numLights, BSLight **a_lights)
 
- Public Member Functions inherited from RE::NiRefObject
 NiRefObject ()
 
virtual ~NiRefObject ()
 
virtual void DeleteThis ()
 
void IncRefCount ()
 
void DecRefCount ()
 
constexpr std::uint32_t GetRefCount () const noexcept
 
 TES_HEAP_REDEFINE_NEW ()
 
- Public Member Functions inherited from RE::NiBoneMatrixSetterI
virtual ~NiBoneMatrixSetterI ()
 
virtual void Unk_01 (void)
 
- Public Member Functions inherited from RE::BSReloadShaderI
virtual void ReloadShaders (void *a_stream)=0
 

Static Public Member Functions

static BSUtilityShaderGetSingleton ()
 
- Static Public Member Functions inherited from RE::NiRefObject
static volatile std::uint32_t * GetTotalObjectCount ()
 

Public Attributes

std::uint64_t unk90
 
- Public Attributes inherited from RE::BSShader
std::int32_t shaderType
 
BSShaderTechniqueIDMap::MapType< BSGraphics::VertexShader * > vertexShaders
 
BSShaderTechniqueIDMap::MapType< BSGraphics::PixelShader * > pixelShaders
 
const char * fxpFilename
 
- Public Attributes inherited from RE::NiRefObject
volatile std::uint32_t _refCount { 0 }
 
std::uint32_t _pad0C { 0 }
 

Static Public Attributes

static constexpr auto RTTI = RTTI_BSUtilityShader
 
static constexpr auto VTABLE = VTABLE_BSUtilityShader
 
- Static Public Attributes inherited from RE::BSShader
static constexpr auto RTTI = RTTI_BSShader
 
static constexpr auto VTABLE = VTABLE_BSShader
 
- Static Public Attributes inherited from RE::NiRefObject
static constexpr auto RTTI = RTTI_NiRefObject
 
static constexpr auto VTABLE = VTABLE_NiRefObject
 
- Static Public Attributes inherited from RE::NiBoneMatrixSetterI
static constexpr auto RTTI = RTTI_NiBoneMatrixSetterI
 
static constexpr auto VTABLE = VTABLE_NiBoneMatrixSetterI
 
- Static Public Attributes inherited from RE::BSReloadShaderI
static constexpr auto RTTI = RTTI_BSReloadShaderI
 
static constexpr auto VTABLE = VTABLE_BSReloadShaderI
 

Member Enumeration Documentation

◆ Flags

Enumerator
None 
Vc 
Texture 
Skinned 
Normals 
BinormalTangent 
AlphaTest 
LodLandscape 
RenderNormal 
RenderNormalFalloff 
RenderNormalClamp 
RenderNormalClear 
RenderDepth 
RenderShadowmap 
RenderShadowmapClamped 
GrayscaleToAlpha 
RenderShadowmapPb 
AdditionalAlphaMask 
DepthWriteDecals 
DebugShadowSplit 
DebugColor 
GrayscaleMask 
RenderShadowmask 
RenderShadowmaskSpot 
RenderShadowmaskPb 
RenderShadowmaskDpb 
RenderBaseTexture 
TreeAnim 
LodObject 
LocalMapFogOfWar 
OpaqueEffect 

Constructor & Destructor Documentation

◆ ~BSUtilityShader()

RE::BSUtilityShader::~BSUtilityShader ( )
override

Member Function Documentation

◆ GetSingleton()

static BSUtilityShader* RE::BSUtilityShader::GetSingleton ( )
inlinestatic

◆ RestoreGeometry()

void RE::BSUtilityShader::RestoreGeometry ( BSRenderPass pass,
uint32_t  flags 
)
override

◆ RestoreTechnique()

void RE::BSUtilityShader::RestoreTechnique ( std::uint32_t  globalTechnique)
overridevirtual

Implements RE::BSShader.

◆ SetupGeometry()

void RE::BSUtilityShader::SetupGeometry ( BSRenderPass pass,
uint32_t  flags 
)
override

◆ SetupTechnique()

bool RE::BSUtilityShader::SetupTechnique ( std::uint32_t  globalTechnique)
overridevirtual

Implements RE::BSShader.

Member Data Documentation

◆ RTTI

constexpr auto RE::BSUtilityShader::RTTI = RTTI_BSUtilityShader
inlinestaticconstexpr

◆ unk90

std::uint64_t RE::BSUtilityShader::unk90

◆ VTABLE

constexpr auto RE::BSUtilityShader::VTABLE = VTABLE_BSUtilityShader
inlinestaticconstexpr

The documentation for this class was generated from the following file: