Cogs.Core
Classes | Public Member Functions | Public Attributes | List of all members
Cogs::Core::TexAtlas::Fetcher Struct Reference

Classes

struct  LoadItem
 
struct  UrlBuilderOp
 

Public Member Functions

void update (Context *context, uint32_t currentFrame, uint32_t currentTime, uint32_t timeout, std::string_view urlTemplate)
 
void processLoadQueue (Context *context, Cache &cache)
 
bool canFetch () const
 
void issueFetch (Context *context, const glm::uvec3 &tileId, TreeIx treeIx, SlotIx slotIx)
 

Public Attributes

std::string url
 
std::vector< UrlBuilderOpurlBuilder
 
std::vector< LoadItemloaded
 
std::vector< LoadItemloading
 
std::vector< LoadItemtmp
 
uint32_t currentFrame = 0
 
uint32_t currentTime = 0
 
uint32_t timeout = 0
 
uint32_t issuedThisFrame = 0
 
uint32_t maxQueueSize = 10
 
uint32_t maxIssuesPerFrame = 3
 
uint32_t tileWidth = 0
 
uint32_t tileHeight = 0
 
glm::dvec2 datasetExtentMin
 
glm::dvec2 datasetExtentMax
 

Detailed Description

Definition at line 25 of file TexAtlasSystem.h.

Member Function Documentation

◆ canFetch()

bool Cogs::Core::TexAtlas::Fetcher::canFetch ( ) const

Check if we can issue more fetches currently.

Definition at line 301 of file TexAtlasFetcher.cpp.

◆ issueFetch()

void Cogs::Core::TexAtlas::Fetcher::issueFetch ( Context context,
const glm::uvec3 &  tileId,
TreeIx  treeIx,
SlotIx  slotIx 
)

Create a new load item and issue fetching of a new tile image.

Definition at line 450 of file TexAtlasFetcher.cpp.

References Cogs::hash(), Cogs::Core::ResourceHandle_t< Texture >::NoHandle, and Cogs::Core::NoMipMaps.

◆ processLoadQueue()

void Cogs::Core::TexAtlas::Fetcher::processLoadQueue ( Context context,
Cache cache 
)

Process load queues before renderer.

Definition at line 220 of file TexAtlasFetcher.cpp.

References Cogs::currentTime(), and Cogs::Core::Context::variables.

Referenced by Cogs::Core::TexAtlasSystem::update().

◆ update()

void Cogs::Core::TexAtlas::Fetcher::update ( Context context,
uint32_t  currentFrame,
uint32_t  currentTime,
uint32_t  timeout,
std::string_view  urlTemplate 
)

Process load queue etc.

Definition at line 206 of file TexAtlasFetcher.cpp.

Referenced by Cogs::Core::TexAtlasSystem::update().

Member Data Documentation

◆ currentFrame

uint32_t Cogs::Core::TexAtlas::Fetcher::currentFrame = 0

Definition at line 58 of file TexAtlasSystem.h.

◆ currentTime

uint32_t Cogs::Core::TexAtlas::Fetcher::currentTime = 0

Definition at line 59 of file TexAtlasSystem.h.

◆ datasetExtentMax

glm::dvec2 Cogs::Core::TexAtlas::Fetcher::datasetExtentMax

Definition at line 70 of file TexAtlasSystem.h.

◆ datasetExtentMin

glm::dvec2 Cogs::Core::TexAtlas::Fetcher::datasetExtentMin

Definition at line 69 of file TexAtlasSystem.h.

◆ issuedThisFrame

uint32_t Cogs::Core::TexAtlas::Fetcher::issuedThisFrame = 0

Definition at line 61 of file TexAtlasSystem.h.

◆ loaded

std::vector<LoadItem> Cogs::Core::TexAtlas::Fetcher::loaded

Definition at line 54 of file TexAtlasSystem.h.

◆ loading

std::vector<LoadItem> Cogs::Core::TexAtlas::Fetcher::loading

Definition at line 55 of file TexAtlasSystem.h.

◆ maxIssuesPerFrame

uint32_t Cogs::Core::TexAtlas::Fetcher::maxIssuesPerFrame = 3

Definition at line 64 of file TexAtlasSystem.h.

◆ maxQueueSize

uint32_t Cogs::Core::TexAtlas::Fetcher::maxQueueSize = 10

Definition at line 63 of file TexAtlasSystem.h.

◆ tileHeight

uint32_t Cogs::Core::TexAtlas::Fetcher::tileHeight = 0

Definition at line 67 of file TexAtlasSystem.h.

◆ tileWidth

uint32_t Cogs::Core::TexAtlas::Fetcher::tileWidth = 0

Definition at line 66 of file TexAtlasSystem.h.

◆ timeout

uint32_t Cogs::Core::TexAtlas::Fetcher::timeout = 0

Definition at line 60 of file TexAtlasSystem.h.

◆ tmp

std::vector<LoadItem> Cogs::Core::TexAtlas::Fetcher::tmp

Definition at line 56 of file TexAtlasSystem.h.

◆ url

std::string Cogs::Core::TexAtlas::Fetcher::url

Definition at line 52 of file TexAtlasSystem.h.

◆ urlBuilder

std::vector<UrlBuilderOp> Cogs::Core::TexAtlas::Fetcher::urlBuilder

Definition at line 53 of file TexAtlasSystem.h.


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