CommonLibVR
RE::BSShader Class Referenceabstract

#include <BSShader.h>

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

Public Member Functions

 ~BSShader () override
 
virtual bool SetupTechnique (std::uint32_t a_technique)=0
 
virtual void RestoreTechnique (std::uint32_t a_technique)=0
 
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
 

Public Attributes

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_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
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ ~BSShader()

RE::BSShader::~BSShader ( )
override

Member Function Documentation

◆ GetTechniqueName()

virtual void RE::BSShader::GetTechniqueName ( std::uint32_t  a_techniqueID,
char *  a_buffer,
std::uint32_t  a_bufferSize 
)
virtual

◆ MakeRenderPass()

RE::BSRenderPass* RE::BSShader::MakeRenderPass ( BSShaderProperty a_property,
BSGeometry a_geometry,
uint32_t  a_technique,
uint8_t  a_numLights,
BSLight **  a_lights 
)
inline

◆ ReloadShaders()

virtual void RE::BSShader::ReloadShaders ( bool  a_clear)
virtual

◆ RestoreGeometry()

virtual void RE::BSShader::RestoreGeometry ( BSRenderPass a_currentPass,
std::uint32_t  a_renderFlags 
)
pure virtual

◆ RestoreMaterial()

virtual void RE::BSShader::RestoreMaterial ( const BSShaderMaterial a_material)
virtual

◆ RestoreTechnique()

virtual void RE::BSShader::RestoreTechnique ( std::uint32_t  a_technique)
pure virtual

Implemented in RE::BSUtilityShader.

◆ SetupGeometry()

virtual void RE::BSShader::SetupGeometry ( BSRenderPass a_currentPass,
std::uint32_t  a_flags 
)
pure virtual

◆ SetupMaterial()

virtual void RE::BSShader::SetupMaterial ( const BSShaderMaterial a_material)
virtual

◆ SetupTechnique()

virtual bool RE::BSShader::SetupTechnique ( std::uint32_t  a_technique)
pure virtual

Implemented in RE::BSUtilityShader.

Member Data Documentation

◆ fxpFilename

const char* RE::BSShader::fxpFilename

◆ pixelShaders

◆ RTTI

constexpr auto RE::BSShader::RTTI = RTTI_BSShader
inlinestaticconstexpr

◆ shaderType

std::int32_t RE::BSShader::shaderType

◆ vertexShaders

◆ VTABLE

constexpr auto RE::BSShader::VTABLE = VTABLE_BSShader
inlinestaticconstexpr

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