OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
VisualObjects Class Referencefinal

#include <visualobjects.h>

Classes

struct  InstanceDesc
 
class  Item
 
struct  MorphData
 
struct  MorphDesc
 

Public Member Functions

 VisualObjects (const SceneGlobals &globals, const std::pair< Tempest::Vec3, Tempest::Vec3 > &bbox)
 
 ~VisualObjects ()
 
Item get (const StaticMesh &mesh, const Material &mat, size_t iboOffset, size_t iboLength, bool staticDraw)
 
Item get (const AnimMesh &mesh, const Material &mat, size_t iboOff, size_t iboLen, const InstanceStorage::Id &anim)
 
Item get (const StaticMesh &mesh, const Material &mat, size_t iboOff, size_t iboLen, const PackedMesh::Cluster *cluster, DrawCommands::Type type)
 
InstanceStorage::Id alloc (size_t size)
 
bool realloc (InstanceStorage::Id &id, size_t size)
 
auto instanceSsbo () const -> const Tempest::StorageBuffer &
 
const DrawClustersclusters () const
 
const DrawCommandsdrawCommands () const
 
const DrawBucketsdrawBuckets () const
 
void resetRendering ()
 
void preFrameUpdate ()
 
void prepareGlobals (Tempest::Encoder< Tempest::CommandBuffer > &cmd, uint8_t fId)
 
void postFrameupdate ()
 
void visibilityPass (Tempest::Encoder< Tempest::CommandBuffer > &cmd, int pass)
 
void visibilityVsm (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
void drawTranslucent (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
void drawWater (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
void drawGBuffer (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
void drawShadow (Tempest::Encoder< Tempest::CommandBuffer > &cmd, int layer)
 
void drawVsm (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
void drawHiZ (Tempest::Encoder< Tempest::CommandBuffer > &cmd)
 
bool updateRtScene (RtScene &out)
 
void dbgClusters (Tempest::Painter &p, Tempest::Vec2 wsz)
 

Friends

class Item
 

Detailed Description

Definition at line 17 of file visualobjects.h.

Constructor & Destructor Documentation

◆ VisualObjects()

VisualObjects::VisualObjects ( const SceneGlobals globals,
const std::pair< Tempest::Vec3, Tempest::Vec3 > &  bbox 
)

Definition at line 147 of file visualobjects.cpp.

◆ ~VisualObjects()

VisualObjects::~VisualObjects ( )

Definition at line 152 of file visualobjects.cpp.

Member Function Documentation

◆ alloc()

InstanceStorage::Id VisualObjects::alloc ( size_t  size)

Definition at line 342 of file visualobjects.cpp.

◆ clusters()

const DrawClusters & VisualObjects::clusters ( ) const
inline

Definition at line 68 of file visualobjects.h.

◆ dbgClusters()

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

Definition at line 627 of file visualobjects.cpp.

◆ drawBuckets()

const DrawBuckets & VisualObjects::drawBuckets ( ) const
inline

Definition at line 70 of file visualobjects.h.

◆ drawCommands()

const DrawCommands & VisualObjects::drawCommands ( ) const
inline

Definition at line 69 of file visualobjects.h.

◆ drawGBuffer()

void VisualObjects::drawGBuffer ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd)

Definition at line 579 of file visualobjects.cpp.

◆ drawHiZ()

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

Definition at line 596 of file visualobjects.cpp.

◆ drawShadow()

void VisualObjects::drawShadow ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd,
int  layer 
)

Definition at line 585 of file visualobjects.cpp.

◆ drawTranslucent()

void VisualObjects::drawTranslucent ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd)

Definition at line 565 of file visualobjects.cpp.

◆ drawVsm()

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

Definition at line 592 of file visualobjects.cpp.

◆ drawWater()

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

Definition at line 574 of file visualobjects.cpp.

◆ get() [1/3]

VisualObjects::Item VisualObjects::get ( const AnimMesh mesh,
const Material mat,
size_t  iboOff,
size_t  iboLen,
const InstanceStorage::Id anim 
)

Definition at line 242 of file visualobjects.cpp.

◆ get() [2/3]

VisualObjects::Item VisualObjects::get ( const StaticMesh mesh,
const Material mat,
size_t  iboOff,
size_t  iboLen,
const PackedMesh::Cluster cluster,
DrawCommands::Type  type 
)

Definition at line 279 of file visualobjects.cpp.

◆ get() [3/3]

VisualObjects::Item VisualObjects::get ( const StaticMesh mesh,
const Material mat,
size_t  iboOffset,
size_t  iboLength,
bool  staticDraw 
)

Definition at line 194 of file visualobjects.cpp.

◆ instanceSsbo()

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

Definition at line 354 of file visualobjects.cpp.

◆ postFrameupdate()

void VisualObjects::postFrameupdate ( )

Definition at line 604 of file visualobjects.cpp.

◆ preFrameUpdate()

void VisualObjects::preFrameUpdate ( )

Definition at line 471 of file visualobjects.cpp.

◆ prepareGlobals()

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

Definition at line 464 of file visualobjects.cpp.

◆ realloc()

bool VisualObjects::realloc ( InstanceStorage::Id id,
size_t  size 
)

Definition at line 346 of file visualobjects.cpp.

◆ resetRendering()

void VisualObjects::resetRendering ( )

Definition at line 350 of file visualobjects.cpp.

◆ updateRtScene()

bool VisualObjects::updateRtScene ( RtScene out)

Definition at line 608 of file visualobjects.cpp.

◆ visibilityPass()

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

Definition at line 557 of file visualobjects.cpp.

◆ visibilityVsm()

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

Definition at line 561 of file visualobjects.cpp.

Friends And Related Symbol Documentation

◆ Item

friend class Item
friend

Definition at line 159 of file visualobjects.h.


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