CommonLibVR
ImageSpaceEffect.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiTArray.h"
4 
5 namespace RE
6 {
7  class ImageSpaceManager;
8  class ImageSpaceEffectParam;
9  class ImageSpaceTexture;
10 
12  {
13  public:
14  class EffectInput;
15 
16  inline static constexpr auto RTTI = RTTI_ImageSpaceEffect;
17  inline static constexpr auto VTABLE = VTABLE_ImageSpaceEffect;
18 
19  virtual ~ImageSpaceEffect(); // 00
20 
21  // add
22  virtual void Render(BSTriShape* a_shape, ImageSpaceEffectParam* a_param); // 01
23  virtual void Setup(ImageSpaceManager* a_manager, ImageSpaceEffectParam* a_param); // 02 - { return; }
24  virtual void ShutDown(); // 03 - { return; }
25  virtual void BorrowTextures(ImageSpaceEffectParam* a_param); // 04 - { return; }
26  virtual void ReturnTextures(); // 05 - { return; }
27  virtual bool IsActive(); // 06
28  virtual bool UpdateParams(ImageSpaceEffectParam* a_param); // 07 - { return 0; }
29  virtual bool SetRenderStates(ImageSpaceEffectParam* a_param); // 08 - { return 0; }
30  virtual bool RestoreRenderStates(ImageSpaceEffectParam* a_param); // 09 - { return 0; }
31 
32  // members
33  bool active; // 08
34  bool unk09; // 09
35  std::uint16_t pad0A; // 0A
36  std::uint32_t pad0C; // 0C
42  bool unk88; // 88
43  std::uint8_t pad89; // 89
44  std::uint16_t pad8A; // 8A
45  std::uint32_t pad8C; // 8C
46  private:
47  KEEP_FOR_RE()
48  };
49  static_assert(sizeof(ImageSpaceEffect) == 0x90);
50 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSTriShape.h:8
Definition: ImageSpaceEffectParam.h:6
Definition: ImageSpaceEffect.h:12
std::uint16_t pad0A
Definition: ImageSpaceEffect.h:35
std::uint32_t pad0C
Definition: ImageSpaceEffect.h:36
virtual void ShutDown()
static constexpr auto RTTI
Definition: ImageSpaceEffect.h:16
NiTPrimitiveArray< ImageSpaceTexture * > effectTextures
Definition: ImageSpaceEffect.h:39
bool active
Definition: ImageSpaceEffect.h:33
virtual bool UpdateParams(ImageSpaceEffectParam *a_param)
std::uint16_t pad8A
Definition: ImageSpaceEffect.h:44
virtual bool RestoreRenderStates(ImageSpaceEffectParam *a_param)
NiTPrimitiveArray< ImageSpaceEffectParam * > effectParams
Definition: ImageSpaceEffect.h:38
NiTPrimitiveArray< ImageSpaceEffect * > effects
Definition: ImageSpaceEffect.h:37
virtual void BorrowTextures(ImageSpaceEffectParam *a_param)
bool unk09
Definition: ImageSpaceEffect.h:34
virtual void Setup(ImageSpaceManager *a_manager, ImageSpaceEffectParam *a_param)
virtual void ReturnTextures()
static constexpr auto VTABLE
Definition: ImageSpaceEffect.h:17
virtual void Render(BSTriShape *a_shape, ImageSpaceEffectParam *a_param)
virtual bool IsActive()
NiTPrimitiveArray< ImageSpaceEffect::EffectInput * > effectInputs
Definition: ImageSpaceEffect.h:40
std::uint8_t pad89
Definition: ImageSpaceEffect.h:43
NiTPrimitiveArray< std::int32_t > unk70
Definition: ImageSpaceEffect.h:41
virtual bool SetRenderStates(ImageSpaceEffectParam *a_param)
virtual ~ImageSpaceEffect()
bool unk88
Definition: ImageSpaceEffect.h:42
std::uint32_t pad8C
Definition: ImageSpaceEffect.h:45
Definition: ImageSpaceManager.h:16
Definition: NiTArray.h:136
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_ImageSpaceEffect(static_cast< std::uint64_t >(691883))
constexpr std::array< REL::ID, 1 > VTABLE_ImageSpaceEffect
Definition: Offsets_VTABLE.h:11890