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
Image & operator= (const Image &)=default
Image & operator= (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:
  • /github/workspace/sources/code/Common/Graphics/Image.hpp