CommonLibSSE (powerof3)
RE::BSImagespaceShader Class Reference

#include <BSImagespaceShader.h>

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

Classes

struct  ShaderMacro
 

Public Member Functions

 ~BSImagespaceShader () override
 
void Setup (ImageSpaceManager *a_manager, ImageSpaceEffectParam *a_param) override
 
void ShutDown () override
 
bool IsActive () override
 
bool UpdateParams (ImageSpaceEffectParam *a_param) override
 
bool RestoreRenderStates (ImageSpaceEffectParam *a_param) override
 
virtual void PreRender ()
 
virtual void PostRender ()
 
virtual void DispatchComputeShader (uint32_t a_threadGroupCountX, uint32_t a_threadGroupCountY, uint32_t a_threadGroupCountZ)
 
virtual void GetShaderMacros (ShaderMacro *a_macros)
 
virtual void LoadShaders ()
 
- Public Member Functions inherited from RE::BSShader
 ~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 Member Functions inherited from RE::ImageSpaceEffect
virtual ~ImageSpaceEffect ()
 
virtual void Render (BSTriShape *a_shape, ImageSpaceEffectParam *a_param)
 
virtual void BorrowTextures (ImageSpaceEffectParam *a_param)
 
virtual void ReturnTextures ()
 
virtual bool SetRenderStates (ImageSpaceEffectParam *a_param)
 

Static Public Member Functions

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

Public Attributes

const char * name
 
const char * originalShaderName
 
std::uint64_t unk130
 
BSTArray< BSFixedStringvsConstantNames
 
BSTArray< BSFixedStringpsConstantNames
 
BSTArray< BSFixedStringsamplerNames
 
BSTArray< BSFixedStringuavNames
 
BSComputeShadercomputeShader
 
bool unk1A0
 
bool isComputeShader
 
- 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 }
 
- Public Attributes inherited from RE::ImageSpaceEffect
bool active
 
bool unk09
 
std::uint16_t pad0A
 
std::uint32_t pad0C
 
NiTPrimitiveArray< ImageSpaceEffect * > effects
 
NiTPrimitiveArray< ImageSpaceEffectParam * > effectParams
 
NiTPrimitiveArray< ImageSpaceTexture * > effectTextures
 
NiTPrimitiveArray< ImageSpaceEffect::EffectInput * > effectInputs
 
NiTPrimitiveArray< std::int32_t > unk70
 
bool unk88
 
std::uint8_t pad89
 
std::uint16_t pad8A
 
std::uint32_t pad8C
 

Static Public Attributes

static constexpr auto RTTI = RTTI_BSImagespaceShader
 
static constexpr auto VTABLE = VTABLE_BSImagespaceShader
 
- 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
 
- Static Public Attributes inherited from RE::ImageSpaceEffect
static constexpr auto RTTI = RTTI_ImageSpaceEffect
 
static constexpr auto VTABLE = VTABLE_ImageSpaceEffect
 

Constructor & Destructor Documentation

◆ ~BSImagespaceShader()

RE::BSImagespaceShader::~BSImagespaceShader ( )
override

Member Function Documentation

◆ Create()

static BSImagespaceShader* RE::BSImagespaceShader::Create ( )
inlinestatic

◆ DispatchComputeShader()

virtual void RE::BSImagespaceShader::DispatchComputeShader ( uint32_t  a_threadGroupCountX,
uint32_t  a_threadGroupCountY,
uint32_t  a_threadGroupCountZ 
)
virtual

◆ GetShaderMacros()

virtual void RE::BSImagespaceShader::GetShaderMacros ( ShaderMacro a_macros)
virtual

Reimplemented in RE::BSImagespaceShaderBlur3.

◆ IsActive()

bool RE::BSImagespaceShader::IsActive ( )
overridevirtual

Reimplemented from RE::ImageSpaceEffect.

◆ LoadShaders()

virtual void RE::BSImagespaceShader::LoadShaders ( )
virtual

◆ PostRender()

virtual void RE::BSImagespaceShader::PostRender ( )
virtual

◆ PreRender()

virtual void RE::BSImagespaceShader::PreRender ( )
virtual

◆ RestoreRenderStates()

bool RE::BSImagespaceShader::RestoreRenderStates ( ImageSpaceEffectParam a_param)
overridevirtual

Reimplemented from RE::ImageSpaceEffect.

◆ Setup()

void RE::BSImagespaceShader::Setup ( ImageSpaceManager a_manager,
ImageSpaceEffectParam a_param 
)
overridevirtual

Reimplemented from RE::ImageSpaceEffect.

◆ ShutDown()

void RE::BSImagespaceShader::ShutDown ( )
overridevirtual

Reimplemented from RE::ImageSpaceEffect.

◆ UpdateParams()

bool RE::BSImagespaceShader::UpdateParams ( ImageSpaceEffectParam a_param)
overridevirtual

Reimplemented from RE::ImageSpaceEffect.

Member Data Documentation

◆ computeShader

BSComputeShader* RE::BSImagespaceShader::computeShader

◆ isComputeShader

bool RE::BSImagespaceShader::isComputeShader

◆ name

const char* RE::BSImagespaceShader::name

◆ originalShaderName

const char* RE::BSImagespaceShader::originalShaderName

◆ psConstantNames

BSTArray<BSFixedString> RE::BSImagespaceShader::psConstantNames

◆ RTTI

constexpr auto RE::BSImagespaceShader::RTTI = RTTI_BSImagespaceShader
inlinestaticconstexpr

◆ samplerNames

BSTArray<BSFixedString> RE::BSImagespaceShader::samplerNames

◆ uavNames

BSTArray<BSFixedString> RE::BSImagespaceShader::uavNames

◆ unk130

std::uint64_t RE::BSImagespaceShader::unk130

◆ unk1A0

bool RE::BSImagespaceShader::unk1A0

◆ vsConstantNames

BSTArray<BSFixedString> RE::BSImagespaceShader::vsConstantNames

◆ VTABLE

constexpr auto RE::BSImagespaceShader::VTABLE = VTABLE_BSImagespaceShader
inlinestaticconstexpr

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