Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::GraphicsAPI::Image Class Referenceabstract

#include <Image.hpp>

Classes

struct  CreateInfo
 
struct  ImageRegion
 

Public Member Functions

 Image (const Image &)=default
 
 Image (Image &&) noexcept=default
 
Imageoperator= (const Image &)=default
 
Imageoperator= (Image &&) noexcept=default
 
 Image (uint32_t width, uint32_t height, uint32_t depth, uint32_t mipLevels, uint32_t arrayLayers, uint64_t maxImageSize, GraphicsAPI::ImageDimension imageDimension, GraphicsAPI::Format format, Grindstone::Containers::BitsetFlags< GraphicsAPI::ImageUsageFlags > imageUsage, GraphicsAPI::MemoryUsage memoryUsage=GraphicsAPI::MemoryUsage::GPUOnly)
 
bool IsCubemap () const
 
uint32_t GetWidth () const
 
uint32_t GetHeight () const
 
uint32_t GetDepth () const
 
uint32_t GetMipLevels () const
 
uint32_t GetArrayLayers () const
 
uint64_t GetMaxImageSize () const
 
GraphicsAPI::ImageDimension GetImageDimension () const
 
GraphicsAPI::Format GetFormat () const
 
Grindstone::Containers::BitsetFlags< GraphicsAPI::ImageUsageFlags > GetImageUsage () const
 
GraphicsAPI::MemoryUsage GetMemoryUsage () const
 
virtual void Resize (uint32_t width, uint32_t height)=0
 
virtual void UploadData (const char *data, uint64_t dataSize)=0
 
virtual void * MapMemory (uint64_t dataSize=MAPPED_MEMORY_ENTIRE_BUFFER, uint64_t dataOffset=0)=0
 
virtual void UnmapMemory ()=0
 
virtual void UploadDataRegions (void *buffer, size_t bufferSize, ImageRegion *regions, uint32_t regionCount)=0
 
virtual Grindstone::Buffer ReadbackMemory ()=0
 

Static Public Attributes

static const uint64_t MAPPED_MEMORY_ENTIRE_BUFFER = UINT64_MAX
 

Protected Attributes

uint32_t width
 
uint32_t height
 
uint32_t depth
 
uint32_t mipLevels
 
uint32_t arrayLayers
 
uint64_t maxImageSize
 
GraphicsAPI::ImageDimension imageDimension
 
GraphicsAPI::Format format
 
Grindstone::Containers::BitsetFlags< GraphicsAPI::ImageUsageFlags > imageUsage
 
GraphicsAPI::MemoryUsage memoryUsage = GraphicsAPI::MemoryUsage::GPUOnly
 

Detailed Description

Images represent pixel data. They can include a multitude of formats representing red, green, blue, and alpha channels. They represent 1d, 2d, or 3d buffers, cubemaps, etc. These also include sampler information.


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