Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
monopoly::engine::MeshGPUCache Class Referencefinal

#include <MeshGPUResources.hpp>

Public Member Functions

 MeshGPUCache (SDL_GPUDevice *device) noexcept
 
 ~MeshGPUCache ()
 
 MeshGPUCache (const MeshGPUCache &)=delete
 
MeshGPUCache & operator= (const MeshGPUCache &)=delete
 
 MeshGPUCache (MeshGPUCache &&)=delete
 
MeshGPUCache & operator= (MeshGPUCache &&)=delete
 
std::expected< const MeshGPUResource *, MeshGPUError > resolve (std::shared_ptr< const data::MeshRuntimeAsset > asset)
 
std::expected< const MeshGPUResource *, MeshGPUError > resolveForScene (std::shared_ptr< const data::MeshRuntimeAsset > asset)
 
const MeshGPUResource * find (data::DataId id) const noexcept
 
std::size_t size () const noexcept
 
std::expected< const MeshGPUDynamicVertexResource *, MeshGPUError > resolveDynamicVertices (std::uint64_t key, std::shared_ptr< const data::MeshRuntimeAsset > asset, std::shared_ptr< const data::MeshRenderData > renderData)
 
const MeshGPUDynamicVertexResource * findDynamic (std::uint64_t key) const noexcept
 
std::size_t dynamicSize () const noexcept
 
void pruneDynamicVertices (std::span< const std::uint64_t > activeKeys) noexcept
 
void prune (std::span< const data::DataId > activeIds) noexcept
 
void pruneAssets (std::span< const data::MeshRuntimeAsset *const > activeAssets) noexcept
 
bool retainStaticAssets (std::vector< std::shared_ptr< const data::MeshRuntimeAsset > > assets) noexcept
 
void erase (data::DataId id) noexcept
 
void clear () noexcept
 
SDL_GPUDevice * device () const noexcept
 

Static Public Attributes

static constexpr std::size_t MaximumRetainedStaticAssets = 23
 

Detailed Description

Definition at line 128 of file MeshGPUResources.hpp.

Constructor & Destructor Documentation

◆ MeshGPUCache() [1/3]

monopoly::engine::MeshGPUCache::MeshGPUCache ( SDL_GPUDevice *  device)
explicitnoexcept

Definition at line 462 of file MeshGPUResources.cpp.

◆ ~MeshGPUCache()

monopoly::engine::MeshGPUCache::~MeshGPUCache ( )

Definition at line 463 of file MeshGPUResources.cpp.

◆ MeshGPUCache() [2/3]

monopoly::engine::MeshGPUCache::MeshGPUCache ( const MeshGPUCache &  )
delete

◆ MeshGPUCache() [3/3]

monopoly::engine::MeshGPUCache::MeshGPUCache ( MeshGPUCache &&  )
delete

Member Function Documentation

◆ clear()

void monopoly::engine::MeshGPUCache::clear ( )
noexcept

Definition at line 1014 of file MeshGPUResources.cpp.

◆ device()

SDL_GPUDevice * monopoly::engine::MeshGPUCache::device ( ) const
inlinenoexcept

Definition at line 167 of file MeshGPUResources.hpp.

◆ dynamicSize()

std::size_t monopoly::engine::MeshGPUCache::dynamicSize ( ) const
noexcept

Definition at line 864 of file MeshGPUResources.cpp.

◆ erase()

void monopoly::engine::MeshGPUCache::erase ( data::DataId  id)
noexcept

Definition at line 924 of file MeshGPUResources.cpp.

◆ find()

const MeshGPUResource * monopoly::engine::MeshGPUCache::find ( data::DataId  id) const
noexcept

Definition at line 908 of file MeshGPUResources.cpp.

◆ findDynamic()

const MeshGPUDynamicVertexResource * monopoly::engine::MeshGPUCache::findDynamic ( std::uint64_t  key) const
noexcept

Definition at line 857 of file MeshGPUResources.cpp.

◆ operator=() [1/2]

MeshGPUCache & monopoly::engine::MeshGPUCache::operator= ( const MeshGPUCache &  )
delete

◆ operator=() [2/2]

MeshGPUCache & monopoly::engine::MeshGPUCache::operator= ( MeshGPUCache &&  )
delete

◆ prune()

void monopoly::engine::MeshGPUCache::prune ( std::span< const data::DataId >  activeIds)
noexcept

Definition at line 885 of file MeshGPUResources.cpp.

◆ pruneAssets()

void monopoly::engine::MeshGPUCache::pruneAssets ( std::span< const data::MeshRuntimeAsset *const >  activeAssets)
noexcept

Definition at line 992 of file MeshGPUResources.cpp.

◆ pruneDynamicVertices()

void monopoly::engine::MeshGPUCache::pruneDynamicVertices ( std::span< const std::uint64_t >  activeKeys)
noexcept

Definition at line 867 of file MeshGPUResources.cpp.

◆ resolve()

std::expected< const MeshGPUResource *, MeshGPUError > monopoly::engine::MeshGPUCache::resolve ( std::shared_ptr< const data::MeshRuntimeAsset >  asset)

Definition at line 517 of file MeshGPUResources.cpp.

◆ resolveDynamicVertices()

std::expected< const MeshGPUDynamicVertexResource *, MeshGPUError > monopoly::engine::MeshGPUCache::resolveDynamicVertices ( std::uint64_t  key,
std::shared_ptr< const data::MeshRuntimeAsset >  asset,
std::shared_ptr< const data::MeshRenderData >  renderData 
)

Definition at line 765 of file MeshGPUResources.cpp.

◆ resolveForScene()

std::expected< const MeshGPUResource *, MeshGPUError > monopoly::engine::MeshGPUCache::resolveForScene ( std::shared_ptr< const data::MeshRuntimeAsset >  asset)

Definition at line 523 of file MeshGPUResources.cpp.

◆ retainStaticAssets()

bool monopoly::engine::MeshGPUCache::retainStaticAssets ( std::vector< std::shared_ptr< const data::MeshRuntimeAsset > >  assets)
noexcept

Definition at line 972 of file MeshGPUResources.cpp.

◆ size()

std::size_t monopoly::engine::MeshGPUCache::size ( ) const
noexcept

Definition at line 921 of file MeshGPUResources.cpp.

Member Data Documentation

◆ MaximumRetainedStaticAssets

constexpr std::size_t monopoly::engine::MeshGPUCache::MaximumRetainedStaticAssets = 23
inlinestaticconstexpr

Definition at line 162 of file MeshGPUResources.hpp.


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