|
OpenGothic
Open source reimplementation of Gothic I and II
|
#include <sceneglobals.h>
Classes | |
| struct | UboGlobal |
Public Types | |
| enum | VisCamera : uint8_t { V_Shadow0 = 0 , V_Shadow1 = 1 , V_ShadowLast = 1 , V_Main = 2 , V_HiZ = 3 , V_Vsm = 4 , V_Count } |
Public Member Functions | |
| SceneGlobals () | |
| ~SceneGlobals () | |
| void | setViewProject (const Tempest::Matrix4x4 &view, const Tempest::Matrix4x4 &proj, float zNear, float zFar, const Tempest::Matrix4x4 *sh) |
| void | setViewLwc (const Tempest::Matrix4x4 &view, const Tempest::Matrix4x4 &proj, const Tempest::Matrix4x4 *sh) |
| void | setViewVsm (const Tempest::Matrix4x4 &view, const Tempest::Matrix4x4 &viewLwc) |
| void | setSky (const Sky &s) |
| void | setWorld (const WorldView &wview) |
| void | setUnderWater (bool w) |
| void | setTime (uint64_t time) |
| void | commitUbo (uint8_t fId) |
| void | prepareGlobals (Tempest::Encoder< Tempest::CommandBuffer > &cmd, uint8_t frameId) |
| void | setResolution (uint32_t w, uint32_t h) |
| void | setHiZ (const Tempest::Texture2d &hiZ) |
| void | setShadowMap (const Tempest::Texture2d *tex[]) |
| void | setVirtualShadowMap (bool enabled, const Tempest::ZBuffer &vsmPageData, const Tempest::StorageImage &pageTbl, const Tempest::StorageImage &pageHiZ, const Tempest::StorageBuffer &vsmPageList) |
| const Tempest::Matrix4x4 & | viewProject () const |
| const Tempest::Matrix4x4 & | viewProjectInv () const |
| const Tempest::Matrix4x4 & | viewShadow (uint8_t view) const |
| const Tempest::Vec3 | clipInfo () const |
| const Tempest::Matrix4x4 | viewProjectLwc () const |
| const Tempest::Matrix4x4 | viewProjectLwcInv () const |
Static Public Member Functions | |
| static bool | isShadowView (VisCamera v) |
Public Attributes | |
| uint64_t | tickCount = 0 |
| const Tempest::Texture2d * | shadowMap [2] = {} |
| Tempest::Matrix4x4 | view |
| Tempest::Matrix4x4 | proj |
| Tempest::Matrix4x4 | viewLwc |
| Tempest::Vec3 | originLwc |
| float | znear = 0 |
| const Tempest::Texture2d * | sceneColor = &Resources::fallbackBlack() |
| const Tempest::Texture2d * | sceneDepth = &Resources::fallbackBlack() |
| const Tempest::Texture2d * | zbuffer = &Resources::fallbackBlack() |
| const Tempest::Texture2d * | gbufDiffuse = &Resources::fallbackBlack() |
| const Tempest::Texture2d * | gbufNormals = &Resources::fallbackBlack() |
| const Tempest::Texture2d * | hiZ = &Resources::fallbackTexture() |
| const Tempest::StorageBuffer * | lights = nullptr |
| const Tempest::Texture2d * | vsmPageData = nullptr |
| const Tempest::StorageImage * | vsmPageTbl = nullptr |
| const Tempest::StorageImage * | vsmPageHiZ = nullptr |
| const Tempest::StorageBuffer * | vsmPageList = nullptr |
| bool | vsmEnabled = false |
| Tempest::StorageImage | vsmDbg |
| Tempest::UniformBuffer< UboGlobal > | uboGlobalPf [Resources::MaxFramesInFlight][V_Count] |
| Tempest::StorageBuffer | uboGlobal [V_Count] |
| Frustrum | frustrum [V_Count] |
| bool | zWindEnabled = false |
| Tempest::Vec2 | windDir = {0,1} |
| uint64_t | windPeriod = 6000 |
| RtScene | rtScene |
Definition at line 13 of file sceneglobals.h.
| enum SceneGlobals::VisCamera : uint8_t |
| Enumerator | |
|---|---|
| V_Shadow0 | |
| V_Shadow1 | |
| V_ShadowLast | |
| V_Main | |
| V_HiZ | |
| V_Vsm | |
| V_Count | |
Definition at line 18 of file sceneglobals.h.
| SceneGlobals::SceneGlobals | ( | ) |
Definition at line 17 of file sceneglobals.cpp.
| SceneGlobals::~SceneGlobals | ( | ) |
Definition at line 47 of file sceneglobals.cpp.
| const Tempest::Vec3 SceneGlobals::clipInfo | ( | ) | const |
Definition at line 272 of file sceneglobals.cpp.
| void SceneGlobals::commitUbo | ( | uint8_t | fId | ) |
Definition at line 183 of file sceneglobals.cpp.
|
static |
Definition at line 51 of file sceneglobals.cpp.
| void SceneGlobals::prepareGlobals | ( | Tempest::Encoder< Tempest::CommandBuffer > & | cmd, |
| uint8_t | frameId | ||
| ) |
Definition at line 202 of file sceneglobals.cpp.
| void SceneGlobals::setHiZ | ( | const Tempest::Texture2d & | hiZ | ) |
Definition at line 232 of file sceneglobals.cpp.
| void SceneGlobals::setResolution | ( | uint32_t | w, |
| uint32_t | h | ||
| ) |
Definition at line 215 of file sceneglobals.cpp.
| void SceneGlobals::setShadowMap | ( | const Tempest::Texture2d * | tex[] | ) |
Definition at line 236 of file sceneglobals.cpp.
| void SceneGlobals::setSky | ( | const Sky & | s | ) |
Definition at line 148 of file sceneglobals.cpp.
| void SceneGlobals::setTime | ( | uint64_t | time | ) |
Definition at line 173 of file sceneglobals.cpp.
| void SceneGlobals::setUnderWater | ( | bool | w | ) |
Definition at line 169 of file sceneglobals.cpp.
| void SceneGlobals::setViewLwc | ( | const Tempest::Matrix4x4 & | view, |
| const Tempest::Matrix4x4 & | proj, | ||
| const Tempest::Matrix4x4 * | sh | ||
| ) |
Definition at line 120 of file sceneglobals.cpp.
| void SceneGlobals::setViewProject | ( | const Tempest::Matrix4x4 & | view, |
| const Tempest::Matrix4x4 & | proj, | ||
| float | zNear, | ||
| float | zFar, | ||
| const Tempest::Matrix4x4 * | sh | ||
| ) |
Definition at line 77 of file sceneglobals.cpp.
| void SceneGlobals::setViewVsm | ( | const Tempest::Matrix4x4 & | view, |
| const Tempest::Matrix4x4 & | viewLwc | ||
| ) |
Definition at line 131 of file sceneglobals.cpp.
| void SceneGlobals::setVirtualShadowMap | ( | bool | enabled, |
| const Tempest::ZBuffer & | vsmPageData, | ||
| const Tempest::StorageImage & | pageTbl, | ||
| const Tempest::StorageImage & | pageHiZ, | ||
| const Tempest::StorageBuffer & | vsmPageList | ||
| ) |
Definition at line 241 of file sceneglobals.cpp.
| void SceneGlobals::setWorld | ( | const WorldView & | wview | ) |
Definition at line 159 of file sceneglobals.cpp.
| const Tempest::Matrix4x4 & SceneGlobals::viewProject | ( | ) | const |
Definition at line 260 of file sceneglobals.cpp.
| const Tempest::Matrix4x4 & SceneGlobals::viewProjectInv | ( | ) | const |
Definition at line 264 of file sceneglobals.cpp.
| const Tempest::Matrix4x4 SceneGlobals::viewProjectLwc | ( | ) | const |
Definition at line 276 of file sceneglobals.cpp.
| const Tempest::Matrix4x4 SceneGlobals::viewProjectLwcInv | ( | ) | const |
Definition at line 282 of file sceneglobals.cpp.
| const Tempest::Matrix4x4 & SceneGlobals::viewShadow | ( | uint8_t | view | ) | const |
Definition at line 268 of file sceneglobals.cpp.
Definition at line 128 of file sceneglobals.h.
| const Tempest::Texture2d* SceneGlobals::gbufDiffuse = &Resources::fallbackBlack() |
Definition at line 73 of file sceneglobals.h.
| const Tempest::Texture2d* SceneGlobals::gbufNormals = &Resources::fallbackBlack() |
Definition at line 74 of file sceneglobals.h.
| const Tempest::Texture2d* SceneGlobals::hiZ = &Resources::fallbackTexture() |
Definition at line 76 of file sceneglobals.h.
| const Tempest::StorageBuffer* SceneGlobals::lights = nullptr |
Definition at line 78 of file sceneglobals.h.
| Tempest::Vec3 SceneGlobals::originLwc |
Definition at line 66 of file sceneglobals.h.
| Tempest::Matrix4x4 SceneGlobals::proj |
Definition at line 64 of file sceneglobals.h.
| RtScene SceneGlobals::rtScene |
Definition at line 134 of file sceneglobals.h.
| const Tempest::Texture2d* SceneGlobals::sceneColor = &Resources::fallbackBlack() |
Definition at line 69 of file sceneglobals.h.
| const Tempest::Texture2d* SceneGlobals::sceneDepth = &Resources::fallbackBlack() |
Definition at line 70 of file sceneglobals.h.
| const Tempest::Texture2d* SceneGlobals::shadowMap[2] = {} |
Definition at line 62 of file sceneglobals.h.
| uint64_t SceneGlobals::tickCount = 0 |
Definition at line 61 of file sceneglobals.h.
| Tempest::StorageBuffer SceneGlobals::uboGlobal[V_Count] |
Definition at line 126 of file sceneglobals.h.
| Tempest::UniformBuffer<UboGlobal> SceneGlobals::uboGlobalPf[Resources::MaxFramesInFlight][V_Count] |
Definition at line 125 of file sceneglobals.h.
| Tempest::Matrix4x4 SceneGlobals::view |
Definition at line 64 of file sceneglobals.h.
| Tempest::Matrix4x4 SceneGlobals::viewLwc |
Definition at line 65 of file sceneglobals.h.
| Tempest::StorageImage SceneGlobals::vsmDbg |
Definition at line 85 of file sceneglobals.h.
| bool SceneGlobals::vsmEnabled = false |
Definition at line 84 of file sceneglobals.h.
| const Tempest::Texture2d* SceneGlobals::vsmPageData = nullptr |
Definition at line 80 of file sceneglobals.h.
| const Tempest::StorageImage* SceneGlobals::vsmPageHiZ = nullptr |
Definition at line 82 of file sceneglobals.h.
| const Tempest::StorageBuffer* SceneGlobals::vsmPageList = nullptr |
Definition at line 83 of file sceneglobals.h.
| const Tempest::StorageImage* SceneGlobals::vsmPageTbl = nullptr |
Definition at line 81 of file sceneglobals.h.
| Tempest::Vec2 SceneGlobals::windDir = {0,1} |
Definition at line 131 of file sceneglobals.h.
| uint64_t SceneGlobals::windPeriod = 6000 |
Definition at line 132 of file sceneglobals.h.
| const Tempest::Texture2d* SceneGlobals::zbuffer = &Resources::fallbackBlack() |
Definition at line 71 of file sceneglobals.h.
| float SceneGlobals::znear = 0 |
Definition at line 67 of file sceneglobals.h.
| bool SceneGlobals::zWindEnabled = false |
Definition at line 130 of file sceneglobals.h.