OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
WorldView Class Reference

#include <worldview.h>

Public Member Functions

 WorldView (const World &world, const PackedMesh &wmesh)
 
 ~WorldView ()
 
const LightSourcemainLight () const
 
const Tempest::Vec3 & ambientLight () const
 
std::pair< Tempest::Vec3, Tempest::Vec3 > bbox () const
 
bool isInPfxRange (const Tempest::Vec3 &pos) const
 
void tick (uint64_t dt)
 
void resetRendering ()
 
void preFrameUpdate (const Camera &camera, uint64_t tickCount, uint8_t fId)
 
void postFrameupdate ()
 
void prepareGlobals (Tempest::Encoder< Tempest::CommandBuffer > &cmd, uint8_t fId)
 
void setGbuffer (const Tempest::Texture2d &diffuse, const Tempest::Texture2d &norm)
 
void setShadowMaps (const Tempest::Texture2d *shadow[])
 
void setVirtualShadowMap (bool enabled, const Tempest::ZBuffer &pageData, const Tempest::StorageImage &pageTbl, const Tempest::StorageImage &pageHiZ, const Tempest::StorageBuffer &pageList)
 
void setHiZ (const Tempest::Texture2d &hiZ)
 
void setSceneImages (const Tempest::Texture2d &clr, const Tempest::Texture2d &depthAux, const Tempest::ZBuffer &depthNative)
 
void dbgLights (DbgPainter &p) const
 
bool updateLights ()
 
bool updateRtScene ()
 
void updateFrustrum (const Frustrum fr[])
 
void visibilityPass (Tempest::Encoder< Tempest::CommandBuffer > &cmd, int pass)
 
void visibilityVsm (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
void drawHiZ (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
void drawShadow (Tempest::Encoder< Tempest::CommandBuffer > &cmd, uint8_t frameId, uint8_t layer)
 
void drawVsm (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
void drawGBuffer (Tempest::Encoder< Tempest::CommandBuffer > &cmd, uint8_t frameId)
 
void drawWater (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
void drawTranslucent (Tempest::Encoder< Tempest::CommandBuffer > &cmd, uint8_t frameId)
 
MeshObjects::Mesh addView (std::string_view visual, int32_t headTex, int32_t teethTex, int32_t bodyColor)
 
MeshObjects::Mesh addView (const ProtoMesh *visual)
 
MeshObjects::Mesh addItmView (std::string_view visual, int32_t material)
 
MeshObjects::Mesh addAtachView (const ProtoMesh::Attach &visual, const int32_t version)
 
MeshObjects::Mesh addStaticView (const ProtoMesh *visual, bool staticDraw=false)
 
MeshObjects::Mesh addStaticView (std::string_view visual)
 
MeshObjects::Mesh addDecalView (const zenkit::VisualDecal &vob)
 
LightGroup::Light addLight (const zenkit::VLight &vob)
 
LightGroup::Light addLight (std::string_view preset)
 
void dbgClusters (Tempest::Painter &p, Tempest::Vec2 wsz)
 
const SceneGlobalssceneGlobals () const
 
const Skysky () const
 
const Landscapelandscape () const
 
const LightGrouplights () const
 
const DrawClustersclusters () const
 
const DrawCommandsdrawCommands () const
 
const DrawBucketsdrawBuckets () const
 
auto instanceSsbo () const -> const Tempest::StorageBuffer &
 

Friends

class LightGroup::Light
 
class PfxEmitter
 
class TrlObjects
 

Detailed Description

Definition at line 23 of file worldview.h.

Constructor & Destructor Documentation

◆ WorldView()

WorldView::WorldView ( const World world,
const PackedMesh wmesh 
)

Definition at line 11 of file worldview.cpp.

◆ ~WorldView()

WorldView::~WorldView ( )

Definition at line 17 of file worldview.cpp.

Member Function Documentation

◆ addAtachView()

MeshObjects::Mesh WorldView::addAtachView ( const ProtoMesh::Attach visual,
const int32_t  version 
)

Definition at line 177 of file worldview.cpp.

◆ addDecalView()

MeshObjects::Mesh WorldView::addDecalView ( const zenkit::VisualDecal &  vob)

Definition at line 193 of file worldview.cpp.

◆ addItmView()

MeshObjects::Mesh WorldView::addItmView ( std::string_view  visual,
int32_t  material 
)

Definition at line 171 of file worldview.cpp.

◆ addLight() [1/2]

LightGroup::Light WorldView::addLight ( const zenkit::VLight &  vob)

Definition at line 199 of file worldview.cpp.

◆ addLight() [2/2]

LightGroup::Light WorldView::addLight ( std::string_view  preset)

Definition at line 205 of file worldview.cpp.

◆ addStaticView() [1/2]

MeshObjects::Mesh WorldView::addStaticView ( const ProtoMesh visual,
bool  staticDraw = false 
)

Definition at line 181 of file worldview.cpp.

◆ addStaticView() [2/2]

MeshObjects::Mesh WorldView::addStaticView ( std::string_view  visual)

Definition at line 187 of file worldview.cpp.

◆ addView() [1/2]

MeshObjects::Mesh WorldView::addView ( const ProtoMesh visual)

Definition at line 163 of file worldview.cpp.

◆ addView() [2/2]

MeshObjects::Mesh WorldView::addView ( std::string_view  visual,
int32_t  headTex,
int32_t  teethTex,
int32_t  bodyColor 
)

Definition at line 157 of file worldview.cpp.

◆ ambientLight()

const Tempest::Vec3 & WorldView::ambientLight ( ) const

Definition at line 26 of file worldview.cpp.

◆ bbox()

std::pair< Vec3, Vec3 > WorldView::bbox ( ) const

Definition at line 30 of file worldview.cpp.

◆ clusters()

const DrawClusters & WorldView::clusters ( ) const

Definition at line 215 of file worldview.cpp.

◆ dbgClusters()

void WorldView::dbgClusters ( Tempest::Painter &  p,
Tempest::Vec2  wsz 
)

Definition at line 211 of file worldview.cpp.

◆ dbgLights()

void WorldView::dbgLights ( DbgPainter p) const

Definition at line 112 of file worldview.cpp.

◆ drawBuckets()

const DrawBuckets & WorldView::drawBuckets ( ) const

Definition at line 223 of file worldview.cpp.

◆ drawCommands()

const DrawCommands & WorldView::drawCommands ( ) const

Definition at line 219 of file worldview.cpp.

◆ drawGBuffer()

void WorldView::drawGBuffer ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd,
uint8_t  frameId 
)

Definition at line 143 of file worldview.cpp.

◆ drawHiZ()

void WorldView::drawHiZ ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd)

Definition at line 130 of file worldview.cpp.

◆ drawShadow()

void WorldView::drawShadow ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd,
uint8_t  frameId,
uint8_t  layer 
)

Definition at line 134 of file worldview.cpp.

◆ drawTranslucent()

void WorldView::drawTranslucent ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd,
uint8_t  frameId 
)

Definition at line 152 of file worldview.cpp.

◆ drawVsm()

void WorldView::drawVsm ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd)

Definition at line 139 of file worldview.cpp.

◆ drawWater()

void WorldView::drawWater ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd)

Definition at line 148 of file worldview.cpp.

◆ instanceSsbo()

const Tempest::StorageBuffer & WorldView::instanceSsbo ( ) const -> const Tempest::StorageBuffer&

Definition at line 227 of file worldview.cpp.

◆ isInPfxRange()

bool WorldView::isInPfxRange ( const Tempest::Vec3 &  pos) const

Definition at line 34 of file worldview.cpp.

◆ landscape()

const Landscape & WorldView::landscape ( ) const
inline

Definition at line 84 of file worldview.h.

◆ lights()

const LightGroup & WorldView::lights ( ) const
inline

Definition at line 85 of file worldview.h.

◆ mainLight()

const LightSource & WorldView::mainLight ( ) const

Definition at line 22 of file worldview.cpp.

◆ postFrameupdate()

void WorldView::postFrameupdate ( )

Definition at line 248 of file worldview.cpp.

◆ preFrameUpdate()

void WorldView::preFrameUpdate ( const Camera camera,
uint64_t  tickCount,
uint8_t  fId 
)

Definition at line 47 of file worldview.cpp.

◆ prepareGlobals()

void WorldView::prepareGlobals ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd,
uint8_t  fId 
)

Definition at line 73 of file worldview.cpp.

◆ resetRendering()

void WorldView::resetRendering ( )

Definition at line 43 of file worldview.cpp.

◆ sceneGlobals()

const SceneGlobals & WorldView::sceneGlobals ( ) const
inline

Definition at line 82 of file worldview.h.

◆ setGbuffer()

void WorldView::setGbuffer ( const Tempest::Texture2d &  diffuse,
const Tempest::Texture2d &  norm 
)

Definition at line 79 of file worldview.cpp.

◆ setHiZ()

void WorldView::setHiZ ( const Tempest::Texture2d &  hiZ)

Definition at line 102 of file worldview.cpp.

◆ setSceneImages()

void WorldView::setSceneImages ( const Tempest::Texture2d &  clr,
const Tempest::Texture2d &  depthAux,
const Tempest::ZBuffer &  depthNative 
)

Definition at line 106 of file worldview.cpp.

◆ setShadowMaps()

void WorldView::setShadowMaps ( const Tempest::Texture2d *  shadow[])

Definition at line 85 of file worldview.cpp.

◆ setVirtualShadowMap()

void WorldView::setVirtualShadowMap ( bool  enabled,
const Tempest::ZBuffer &  pageData,
const Tempest::StorageImage &  pageTbl,
const Tempest::StorageImage &  pageHiZ,
const Tempest::StorageBuffer &  pageList 
)

Definition at line 94 of file worldview.cpp.

◆ sky()

const Sky & WorldView::sky ( ) const
inline

Definition at line 83 of file worldview.h.

◆ tick()

void WorldView::tick ( uint64_t  dt)

Definition at line 38 of file worldview.cpp.

◆ updateFrustrum()

void WorldView::updateFrustrum ( const Frustrum  fr[])

Definition at line 116 of file worldview.cpp.

◆ updateLights()

bool WorldView::updateLights ( )

Definition at line 231 of file worldview.cpp.

◆ updateRtScene()

bool WorldView::updateRtScene ( )

Definition at line 240 of file worldview.cpp.

◆ visibilityPass()

void WorldView::visibilityPass ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd,
int  pass 
)

Definition at line 121 of file worldview.cpp.

◆ visibilityVsm()

void WorldView::visibilityVsm ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd)

Definition at line 126 of file worldview.cpp.

Friends And Related Symbol Documentation

◆ LightGroup::Light

friend class LightGroup::Light
friend

Definition at line 106 of file worldview.h.

◆ PfxEmitter

friend class PfxEmitter
friend

Definition at line 107 of file worldview.h.

◆ TrlObjects

friend class TrlObjects
friend

Definition at line 108 of file worldview.h.


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