CommonLibSSE NG
Loading...
Searching...
No Matches
RE::BSWaterShaderProperty Class Reference

#include <BSWaterShaderProperty.h>

Inheritance diagram for RE::BSWaterShaderProperty:
RE::BSShaderProperty RE::NiShadeProperty RE::NiProperty RE::NiObjectNET RE::NiObject RE::NiRefObject

Public Types

enum class  WaterFlag {
  kNone = 0 , kUnderwater = 1 << 5 , kUseReflections = 1 << 6 , kUseCubemapReflections = 1 << 14 ,
  kEnableFlowmap = 1 << 15 , kBlendNormals = 1 << 16
}
 
- Public Types inherited from RE::BSShaderProperty
enum class  EShaderPropertyFlag : std::uint64_t {
  kSpecular = BIT64 << 0 , kSkinned = BIT64 << 1 , kTempRefraction = BIT64 << 2 , kVertexAlpha = BIT64 << 3 ,
  kGrayscaleToPaletteColor = BIT64 << 4 , kGrayscaleToPaletteAlpha = BIT64 << 5 , kFalloff = BIT64 << 6 , kEnvMap = BIT64 << 7 ,
  kReceiveShadows = BIT64 << 8 , kCastShadows = BIT64 << 9 , kFace = BIT64 << 10 , kParallax = BIT64 << 11 ,
  kModelSpaceNormals = BIT64 << 12 , kNonProjectiveShadows = BIT64 << 13 , kMultiTextureLandscape = BIT64 << 14 , kRefraction = BIT64 << 15 ,
  kRefractionFalloff = BIT64 << 16 , kEyeReflect = BIT64 << 17 , kHairTint = BIT64 << 18 , kScreendoorAlphaFade = BIT64 << 19 ,
  kLocalMapClear = BIT64 << 20 , kFaceGenRGBTint = BIT64 << 21 , kOwnEmit = BIT64 << 22 , kProjectedUV = BIT64 << 23 ,
  kMultipleTextures = BIT64 << 24 , kRemappableTextures = BIT64 << 25 , kDecal = BIT64 << 26 , kDynamicDecal = BIT64 << 27 ,
  kParallaxOcclusion = BIT64 << 28 , kExternalEmittance = BIT64 << 29 , kSoftEffect = BIT64 << 30 , kZBufferTest = BIT64 << 31 ,
  kZBufferWrite = BIT64 << 32 , kLODLandscape = BIT64 << 33 , kLODObjects = BIT64 << 34 , kNoFade = BIT64 << 35 ,
  kTwoSided = BIT64 << 36 , kVertexColors = BIT64 << 37 , kGlowMap = BIT64 << 38 , kAssumeShadowmask = BIT64 << 39 ,
  kCharacterLighting = BIT64 << 40 , kMultiIndexSnow = BIT64 << 41 , kVertexLighting = BIT64 << 42 , kUniformScale = BIT64 << 43 ,
  kFitSlope = BIT64 << 44 , kBillboard = BIT64 << 45 , kNoLODLandBlend = BIT64 << 46 , kEnvmapLightFade = BIT64 << 47 ,
  kWireframe = BIT64 << 48 , kWeaponBlood = BIT64 << 49 , kHideOnLocalMap = BIT64 << 50 , kPremultAlpha = BIT64 << 51 ,
  kCloudLOD = BIT64 << 52 , kAnisotropicLighting = BIT64 << 53 , kNoTransparencyMultiSample = BIT64 << 54 , kMenuScreen = BIT64 << 55 ,
  kMultiLayerParallax = BIT64 << 56 , kSoftLighting = BIT64 << 57 , kRimLighting = BIT64 << 58 , kBackLighting = BIT64 << 59 ,
  kSnow = BIT64 << 60 , kTreeAnim = BIT64 << 61 , kEffectLighting = BIT64 << 62 , kHDLODObjects = BIT64 << 63
}
 
enum class  EShaderPropertyFlag8 : std::uint8_t {
  kSpecular = 0 , kSkinned = 1 , kTempRefraction = 2 , kVertexAlpha = 3 ,
  kGrayscaleToPaletteColor = 4 , kGrayscaleToPaletteAlpha = 5 , kFalloff = 6 , kEnvMap = 7 ,
  kReceiveShadows = 8 , kCastShadows = 9 , kFace = 10 , kParallax = 11 ,
  kModelSpaceNormals = 12 , kNonProjectiveShadows = 13 , kMultiTextureLandscape = 14 , kRefraction = 15 ,
  kRefractionFalloff = 16 , kEyeReflect = 17 , kHairTint = 18 , kScreendoorAlphaFade = 19 ,
  kLocalMapClear = 20 , kFaceGenRGBTint = 21 , kOwnEmit = 22 , kProjectedUV = 23 ,
  kMultipleTextures = 24 , kRemappableTextures = 25 , kDecal = 26 , kDynamicDecal = 27 ,
  kParallaxOcclusion = 28 , kExternalEmittance = 29 , kSoftEffect = 30 , kZBufferTest = 31 ,
  kZBufferWrite = 32 , kLODLandscape = 33 , kLODObjects = 34 , kNoFade = 35 ,
  kTwoSided = 36 , kVertexColors = 37 , kGlowMap = 38 , kAssumeShadowmask = 39 ,
  kCharacterLighting = 40 , kMultiIndexSnow = 41 , kVertexLighting = 42 , kUniformScale = 43 ,
  kFitSlope = 44 , kBillboard = 45 , kNoLODLandBlend = 46 , kEnvmapLightFade = 47 ,
  kWireframe = 48 , kWeaponBlood = 49 , kHideOnLocalMap = 50 , kPremultAlpha = 51 ,
  kCloudLOD = 52 , kAnisotropicLighting = 53 , kNoTransparencyMultiSample = 54 , kMenuScreen = 55 ,
  kMultiLayerParallax = 56 , kSoftLighting = 57 , kRimLighting = 58 , kBackLighting = 59 ,
  kSnow = 60 , kTreeAnim = 61 , kEffectLighting = 62 , kHDLODObjects = 63
}
 
- Public Types inherited from RE::NiProperty
enum class  Type { kAlpha = 0 , kShade = 1 }
 

Public Member Functions

 ~BSWaterShaderProperty () override
 
const NiRTTIGetRTTI () const override
 
NiObjectCreateClone (NiCloningProcess &a_cloning) override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
void PostLinkObject (NiStream &a_stream) override
 
RenderPassArrayGetRenderPasses (BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
 
void Unk_2C (void) override
 
void Unk_2D (void) override
 
void Unk_2F (void) override
 
std::int32_t ForEachTexture (ForEachVisitor &a_visitor) override
 
void DoClearRenderPasses () override
 
std::int32_t QShader () override
 
BSShaderMaterial::Type GetMaterialType () override
 
- Public Member Functions inherited from RE::BSShaderProperty
 ~BSShaderProperty () override
 
const NiRTTIGetRTTI () const override
 
NiObjectCreateClone (NiCloningProcess &a_cloning) override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
void PostLinkObject (NiStream &a_stream) override
 
bool SetupGeometry (BSGeometry *a_geometry) override
 
void Unk_29 (void) override
 
virtual RenderPassArrayGetRenderPasses (BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator)=0
 
virtual void Unk_2B (void)
 
virtual void Unk_2C (void)
 
virtual void Unk_2D (void)
 
virtual void Unk_2E (void)
 
virtual void Unk_2F (void)
 
virtual bool CanMerge (const BSShaderProperty *a_other)
 
virtual void SetMaterialAlpha (float a_alpha)
 
virtual float QMaterialAlpha ()
 
virtual std::int32_t ForEachTexture (ForEachVisitor &a_visitor)
 
virtual void DoClearRenderPasses ()
 
virtual std::int32_t QShader ()
 
virtual void Unk_36 (void)
 
virtual NiSourceTextureGetBaseTexture ()
 
virtual void Unk_38 (void)
 
virtual bool AcceptsEffectData () const
 
virtual void Unk_3A (void)
 
virtual void Unk_3B (void)
 
virtual void Unk_3C (void)
 
virtual std::uint32_t DetermineUtilityShaderDecl ()
 
virtual BSShaderMaterial::Type GetMaterialType ()
 
void SetEffectShaderData (const BSTSmartPointer< BSEffectShaderData > &a_data)
 
void SetMaterial (BSShaderMaterial *a_material, bool a_unk1)
 
void SetFlags (EShaderPropertyFlag8 a_flag, bool a_set)
 
- Public Member Functions inherited from RE::NiShadeProperty
 ~NiShadeProperty () override
 
const NiRTTIGetRTTI () const override
 
NiObjectCreateClone (NiCloningProcess &a_cloning) override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
Type GetType () const override
 
virtual bool SetupGeometry (BSGeometry *a_geometry)
 
virtual bool FinishSetupGeometry (BSGeometry *a_geometry)
 
virtual void Unk_29 (void)
 
- Public Member Functions inherited from RE::NiProperty
 ~NiProperty () override
 
const NiRTTIGetRTTI () const override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
void ProcessClone (NiCloningProcess &a_cloning) override
 
virtual Type GetType () const =0
 
virtual void Update (float a_time)
 
- Public Member Functions inherited from RE::NiObjectNET
 ~NiObjectNET () override
 
const NiRTTIGetRTTI () const override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
void ProcessClone (NiCloningProcess &a_cloning) override
 
void PostLinkObject (NiStream &a_stream) override
 
bool AddExtraData (const BSFixedString &a_key, NiExtraData *a_extra)
 
bool AddExtraData (NiExtraData *a_extra)
 
void DeleteExtraData (std::uint16_t a_extraDataIndex)
 
NiTimeControllerGetControllers () const
 
NiTimeControllerGetController (const NiRTTI *a_rtti) const
 
template<class T >
T * GetController () const
 
NiExtraDataGetExtraData (const BSFixedString &a_key) const
 
template<class T >
T * GetExtraData (const BSFixedString &a_key) const
 
NiExtraDataGetExtraDataAt (std::uint16_t a_extraDataIndex) const
 
std::uint16_t GetExtraDataSize () const
 
bool HasExtraData (const BSFixedString &a_key) const
 
bool InsertExtraData (NiExtraData *a_extra)
 
void RemoveAllExtraData ()
 
bool RemoveExtraData (const BSFixedString &a_key)
 
bool RemoveExtraDataAt (std::uint16_t a_extraDataIndex)
 
bool SetExtraDataSize (std::uint16_t a_size)
 
- Public Member Functions inherited from RE::NiObject
 ~NiObject () override=default
 
virtual const NiRTTIGetRTTI () const
 
virtual NiNodeAsNode ()
 
virtual NiSwitchNode * AsSwitchNode ()
 
virtual BSFadeNodeAsFadeNode ()
 
virtual BSMultiBoundNodeAsMultiBoundNode ()
 
virtual BSGeometryAsGeometry ()
 
virtual NiTriStrips * AsTriStrips ()
 
virtual BSTriShapeAsTriShape ()
 
virtual BSSegmentedTriShape * AsSegmentedTriShape ()
 
virtual BSSubIndexTriShape * AsSubIndexTriShape ()
 
virtual BSDynamicTriShapeAsDynamicTriShape ()
 
virtual NiGeometryAsNiGeometry ()
 
virtual NiTriBasedGeom * AsNiTriBasedGeom ()
 
virtual NiTriShape * AsNiTriShape ()
 
virtual NiParticlesAsParticlesGeom ()
 
virtual BSLines * AsLinesGeom ()
 
virtual bhkNiCollisionObjectAsBhkNiCollisionObject ()
 
virtual bhkBlendCollisionObject * AsBhkBlendCollisionObject ()
 
virtual bhkAttachmentCollisionObject * AsBhkAttachmentCollisionObject ()
 
virtual bhkRigidBodyAsBhkRigidBody ()
 
virtual bhkLimitedHingeConstraint * AsBhkLimitedHingeConstraint ()
 
virtual NiObjectCreateClone (NiCloningProcess &a_cloning)
 
virtual void LoadBinary (NiStream &a_stream)
 
virtual void LinkObject (NiStream &a_stream)
 
virtual bool RegisterStreamables (NiStream &a_stream)
 
virtual void SaveBinary (NiStream &a_stream)
 
virtual bool IsEqual (NiObject *a_object)
 
virtual void ProcessClone (NiCloningProcess &a_cloning)
 
virtual void PostLinkObject (NiStream &a_stream)
 
virtual bool StreamCanSkip ()
 
virtual const NiRTTIGetStreamableRTTI () const
 
virtual std::uint32_t GetBlockAllocationSize () const
 
virtual NiObjectGroupGetGroup () const
 
virtual void SetGroup (NiObjectGroup *a_group)
 
virtual NiControllerManagerAsNiControllerManager ()
 
void CreateDeepCopy (NiPointer< NiObject > &a_object)
 
- 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 Attributes

stl::enumeration< WaterFlag, std::uint32_t > waterFlags
 
std::uint32_t unk8C
 
std::uint64_t unk90
 
std::uint64_t unk98
 
NiPlane plane
 
std::uint64_t unkB0
 
std::uint8_t unkB8
 
std::uint8_t padB9
 
std::uint16_t padBA
 
std::uint16_t padBC
 
BSRenderPassunkC0
 
RenderPassArray simpleRenderPassList
 
std::uint64_t unkD0
 
BSTArray< void * > unkD8
 
std::int32_t unkF0
 
std::uint32_t unkF4
 
std::uint8_t unkF8
 
std::uint8_t padF9
 
std::uint16_t padFA
 
std::uint16_t padFC
 
- Public Attributes inherited from RE::BSShaderProperty
float alpha
 
std::int32_t lastRenderPassState
 
stl::enumeration< EShaderPropertyFlag, std::uint64_t > flags
 
RenderPassArray renderPassList
 
std::uint64_t unk48
 
RenderPassArray debugRenderPassList
 
std::uint64_t unk58
 
BSFadeNodefadeNode
 
BSTSmartPointer< BSEffectShaderDataeffectData
 
BSShaderPropertyLightDatalightData
 
BSShaderMaterialmaterial
 
std::uint64_t unk80
 
- Public Attributes inherited from RE::NiObjectNET
BSFixedString name
 
NiPointer< NiTimeControllercontrollers
 
NiExtraData ** extra
 
std::uint16_t extraDataSize
 
std::uint16_t maxSize
 
std::uint32_t pad2C
 
- 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_BSWaterShaderProperty
 
static constexpr auto Ni_RTTI = NiRTTI_BSWaterShaderProperty
 
- Static Public Attributes inherited from RE::BSShaderProperty
static constexpr auto RTTI = RTTI_BSShaderProperty
 
static auto Ni_RTTI = NiRTTI_BSShaderProperty
 
- Static Public Attributes inherited from RE::NiShadeProperty
static constexpr auto RTTI = RTTI_NiShadeProperty
 
static auto Ni_RTTI = NiRTTI_NiShadeProperty
 
- Static Public Attributes inherited from RE::NiProperty
static constexpr auto RTTI = RTTI_NiProperty
 
static auto Ni_RTTI = NiRTTI_NiProperty
 
- Static Public Attributes inherited from RE::NiObjectNET
static constexpr auto RTTI = RTTI_NiObjectNET
 
static auto Ni_RTTI = NiRTTI_NiObjectNET
 
- Static Public Attributes inherited from RE::NiObject
static constexpr auto RTTI = RTTI_NiObject
 
static auto Ni_RTTI = NiRTTI_NiObject
 
- Static Public Attributes inherited from RE::NiRefObject
static constexpr auto RTTI = RTTI_NiRefObject
 

Additional Inherited Members

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

Member Enumeration Documentation

◆ WaterFlag

Enumerator
kNone 
kUnderwater 
kUseReflections 
kUseCubemapReflections 
kEnableFlowmap 
kBlendNormals 

Constructor & Destructor Documentation

◆ ~BSWaterShaderProperty()

RE::BSWaterShaderProperty::~BSWaterShaderProperty ( )
override

Member Function Documentation

◆ CreateClone()

NiObject * RE::BSWaterShaderProperty::CreateClone ( NiCloningProcess a_cloning)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ DoClearRenderPasses()

void RE::BSWaterShaderProperty::DoClearRenderPasses ( )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ ForEachTexture()

std::int32_t RE::BSWaterShaderProperty::ForEachTexture ( ForEachVisitor a_visitor)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ GetMaterialType()

BSShaderMaterial::Type RE::BSWaterShaderProperty::GetMaterialType ( )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ GetRenderPasses()

RenderPassArray * RE::BSWaterShaderProperty::GetRenderPasses ( BSGeometry a_geometry,
std::uint32_t  a_arg2,
BSShaderAccumulator *  a_accumulator 
)
overridevirtual

Implements RE::BSShaderProperty.

◆ GetRTTI()

const NiRTTI * RE::BSWaterShaderProperty::GetRTTI ( ) const
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ IsEqual()

bool RE::BSWaterShaderProperty::IsEqual ( NiObject a_object)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ LinkObject()

void RE::BSWaterShaderProperty::LinkObject ( NiStream a_stream)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ LoadBinary()

void RE::BSWaterShaderProperty::LoadBinary ( NiStream a_stream)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ PostLinkObject()

void RE::BSWaterShaderProperty::PostLinkObject ( NiStream a_stream)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ QShader()

std::int32_t RE::BSWaterShaderProperty::QShader ( )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ RegisterStreamables()

bool RE::BSWaterShaderProperty::RegisterStreamables ( NiStream a_stream)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ SaveBinary()

void RE::BSWaterShaderProperty::SaveBinary ( NiStream a_stream)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ Unk_2C()

void RE::BSWaterShaderProperty::Unk_2C ( void  )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ Unk_2D()

void RE::BSWaterShaderProperty::Unk_2D ( void  )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ Unk_2F()

void RE::BSWaterShaderProperty::Unk_2F ( void  )
overridevirtual

Reimplemented from RE::BSShaderProperty.

Member Data Documentation

◆ Ni_RTTI

constexpr auto RE::BSWaterShaderProperty::Ni_RTTI = NiRTTI_BSWaterShaderProperty
inlinestaticconstexpr

◆ padB9

std::uint8_t RE::BSWaterShaderProperty::padB9

◆ padBA

std::uint16_t RE::BSWaterShaderProperty::padBA

◆ padBC

std::uint16_t RE::BSWaterShaderProperty::padBC

◆ padF9

std::uint8_t RE::BSWaterShaderProperty::padF9

◆ padFA

std::uint16_t RE::BSWaterShaderProperty::padFA

◆ padFC

std::uint16_t RE::BSWaterShaderProperty::padFC

◆ plane

NiPlane RE::BSWaterShaderProperty::plane

◆ RTTI

constexpr auto RE::BSWaterShaderProperty::RTTI = RTTI_BSWaterShaderProperty
inlinestaticconstexpr

◆ simpleRenderPassList

RenderPassArray RE::BSWaterShaderProperty::simpleRenderPassList

◆ unk8C

std::uint32_t RE::BSWaterShaderProperty::unk8C

◆ unk90

std::uint64_t RE::BSWaterShaderProperty::unk90

◆ unk98

std::uint64_t RE::BSWaterShaderProperty::unk98

◆ unkB0

std::uint64_t RE::BSWaterShaderProperty::unkB0

◆ unkB8

std::uint8_t RE::BSWaterShaderProperty::unkB8

◆ unkC0

BSRenderPass* RE::BSWaterShaderProperty::unkC0

◆ unkD0

std::uint64_t RE::BSWaterShaderProperty::unkD0

◆ unkD8

BSTArray<void*> RE::BSWaterShaderProperty::unkD8

◆ unkF0

std::int32_t RE::BSWaterShaderProperty::unkF0

◆ unkF4

std::uint32_t RE::BSWaterShaderProperty::unkF4

◆ unkF8

std::uint8_t RE::BSWaterShaderProperty::unkF8

◆ waterFlags

stl::enumeration<WaterFlag, std::uint32_t> RE::BSWaterShaderProperty::waterFlags

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