10    class BSShaderMaterial;
 
   13    struct ID3D11PixelShader;
 
   14    struct ID3D11VertexShader;
 
   54    namespace BSShaderTechniqueIDMap
 
   59            [[nodiscard]] std::uint32_t 
operator()(
const T a_shader) 
const noexcept 
   61                assert(a_shader != 
nullptr);
 
   69            [[nodiscard]] 
bool operator()(
const T a_lhs, 
const T a_rhs) 
const noexcept 
   71                assert(a_lhs != 
nullptr);
 
   72                assert(a_rhs != 
nullptr);
 
   73                return a_lhs->id == a_rhs->id;
 
   99        virtual void GetTechniqueName(std::uint32_t a_techniqueID, 
char* a_buffer, std::uint32_t a_bufferSize);  
 
  108    static_assert(
sizeof(
BSShader) == 0x90);
 
ID3D11Buffer * buffer
Definition BSShader.h:22
 
void * data
Definition BSShader.h:23
 
ID3D11PixelShader * shader
Definition BSShader.h:32
 
ConstantGroup constantBuffers[3]
Definition BSShader.h:33
 
std::uint32_t id
Definition BSShader.h:31
 
std::int8_t constantTable[64]
Definition BSShader.h:34
 
std::uint64_t shaderDesc
Definition BSShader.h:46
 
std::uint32_t id
Definition BSShader.h:42
 
std::int8_t constantTable[20]
Definition BSShader.h:47
 
std::uint8_t rawBytecode[0]
Definition BSShader.h:49
 
std::uint32_t pad64
Definition BSShader.h:48
 
std::uint32_t byteCodeSize
Definition BSShader.h:44
 
ConstantGroup constantBuffers[3]
Definition BSShader.h:45
 
ID3D11VertexShader * shader
Definition BSShader.h:43
 
Definition BSReloadShaderI.h:8
 
Definition BSRenderPass.h:11
 
virtual void SetupGeometry(BSRenderPass *a_currentPass, std::uint32_t a_flags)=0
 
static constexpr auto RTTI
Definition BSShader.h:87
 
BSShaderTechniqueIDMap::MapType< BSGraphics::PixelShader * > pixelShaders
Definition BSShader.h:105
 
std::int32_t shaderType
Definition BSShader.h:103
 
virtual bool SetupTechnique(std::uint32_t a_technique)=0
 
BSShaderTechniqueIDMap::MapType< BSGraphics::VertexShader * > vertexShaders
Definition BSShader.h:104
 
virtual void GetTechniqueName(std::uint32_t a_techniqueID, char *a_buffer, std::uint32_t a_bufferSize)
 
virtual void ReloadShaders(bool a_clear)
 
virtual void RestoreGeometry(BSRenderPass *a_currentPass, std::uint32_t a_renderFlags)=0
 
const char * fxpFilename
Definition BSShader.h:106
 
virtual void RestoreMaterial(const BSShaderMaterial *a_material)
 
static constexpr auto VTABLE
Definition BSShader.h:88
 
virtual void SetupMaterial(const BSShaderMaterial *a_material)
 
virtual void RestoreTechnique(std::uint32_t a_technique)=0
 
Definition BSShaderMaterial.h:9
 
Definition BSTHashMap.h:21
 
Definition NiBoneMatrixSetterI.h:6
 
Definition NiRefObject.h:8
 
Definition AbsorbEffect.h:6
 
constexpr std::array< REL::VariantID, 3 > VTABLE_BSShader
Definition Offsets_VTABLE.h:7303
 
constexpr REL::VariantID RTTI_BSShader(691881, 399925, 0x1f7d930)
 
bool operator()(const T a_lhs, const T a_rhs) const noexcept
Definition BSShader.h:69
 
std::uint32_t operator()(const T a_shader) const noexcept
Definition BSShader.h:59