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

#include <pfxbucket.h>

Classes

struct  ImplEmitter
 
struct  PfxState
 

Public Types

enum  AllocState : uint8_t { S_Free , S_Fade , S_Inactive , S_Active }
 
using Vertex = Resources::Vertex
 

Public Member Functions

 PfxBucket (const ParticleFx &decl, PfxObjects &parent, const SceneGlobals &scene, VisualObjects &visual)
 
 ~PfxBucket ()
 
bool isEmpty () const
 
void preFrameUpdate (const SceneGlobals &scene, uint8_t fId)
 
void drawGBuffer (Tempest::Encoder< Tempest::CommandBuffer > &cmd, const SceneGlobals &scene, uint8_t fId)
 
void drawShadow (Tempest::Encoder< Tempest::CommandBuffer > &cmd, const SceneGlobals &scene, uint8_t fId, int layer)
 
void drawTranslucent (Tempest::Encoder< Tempest::CommandBuffer > &cmd, const SceneGlobals &scene, uint8_t fId)
 
size_t allocEmitter ()
 
void freeEmitter (size_t &id)
 
ImplEmitterget (size_t id)
 
void tick (uint64_t dt, const Tempest::Vec3 &viewPos)
 
void buildSsbo ()
 

Public Attributes

const ParticleFxdecl
 
PfxObjectsparent
 

Friends

class PfxEmitter
 

Detailed Description

Definition at line 13 of file pfxbucket.h.

Member Typedef Documentation

◆ Vertex

Definition at line 15 of file pfxbucket.h.

Member Enumeration Documentation

◆ AllocState

enum PfxBucket::AllocState : uint8_t
Enumerator
S_Free 
S_Fade 
S_Inactive 
S_Active 

Definition at line 20 of file pfxbucket.h.

Constructor & Destructor Documentation

◆ PfxBucket()

PfxBucket::PfxBucket ( const ParticleFx decl,
PfxObjects parent,
const SceneGlobals scene,
VisualObjects visual 
)

Definition at line 38 of file pfxbucket.cpp.

◆ ~PfxBucket()

PfxBucket::~PfxBucket ( )

Definition at line 73 of file pfxbucket.cpp.

Member Function Documentation

◆ allocEmitter()

size_t PfxBucket::allocEmitter ( )

Definition at line 138 of file pfxbucket.cpp.

◆ buildSsbo()

void PfxBucket::buildSsbo ( )

Definition at line 532 of file pfxbucket.cpp.

◆ drawGBuffer()

void PfxBucket::drawGBuffer ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd,
const SceneGlobals scene,
uint8_t  fId 
)

Definition at line 698 of file pfxbucket.cpp.

◆ drawShadow()

void PfxBucket::drawShadow ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd,
const SceneGlobals scene,
uint8_t  fId,
int  layer 
)

Definition at line 705 of file pfxbucket.cpp.

◆ drawTranslucent()

void PfxBucket::drawTranslucent ( Tempest::Encoder< Tempest::CommandBuffer > &  cmd,
const SceneGlobals scene,
uint8_t  fId 
)

Definition at line 713 of file pfxbucket.cpp.

◆ freeEmitter()

void PfxBucket::freeEmitter ( size_t &  id)

Definition at line 156 of file pfxbucket.cpp.

◆ get()

ImplEmitter & PfxBucket::get ( size_t  id)
inline

Definition at line 66 of file pfxbucket.h.

◆ isEmpty()

bool PfxBucket::isEmpty ( ) const

Definition at line 76 of file pfxbucket.cpp.

◆ preFrameUpdate()

void PfxBucket::preFrameUpdate ( const SceneGlobals scene,
uint8_t  fId 
)

Definition at line 671 of file pfxbucket.cpp.

◆ tick()

void PfxBucket::tick ( uint64_t  dt,
const Tempest::Vec3 &  viewPos 
)

Friends And Related Symbol Documentation

◆ PfxEmitter

friend class PfxEmitter
friend

Definition at line 170 of file pfxbucket.h.

Member Data Documentation

◆ decl

const ParticleFx& PfxBucket::decl

Definition at line 53 of file pfxbucket.h.

◆ parent

PfxObjects& PfxBucket::parent

Definition at line 54 of file pfxbucket.h.


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