5#include "Foundation/Memory/MemoryBuffer.h"
9 size_t COGSRENDERING_DLL_API getBlockSize(TextureFormat format);
10 TextureExtent COGSRENDERING_DLL_API getBlockExtent(TextureFormat format);
11 size_t COGSRENDERING_DLL_API getComponents(TextureFormat format);
12 uint32_t COGSRENDERING_DLL_API getMipLevels(
const uint32_t width,
const uint32_t height);
13 uint32_t COGSRENDERING_DLL_API getMipSize(uint32_t size, uint32_t level);
15 enum class ResourceDimensions
30 ResourceDimensions_Size
32 COGSRENDERING_DLL_API
const char* getResourceDimensionsName(ResourceDimensions target);
43 ResourceDimensions target = ResourceDimensions::Texture2D;
51 TextureFormat format = TextureFormat::Unknown;
59 TextureData(
const void * data,
TextureExtent extent,
size_t layers,
size_t faces,
size_t levels, TextureFormat format);
64 void init(
TextureExtent extent,
size_t layers,
size_t faces,
size_t levels, TextureFormat format,
Memory::Allocator * allocator = Memory::Allocator::defaultAllocator());
65 void initExternal(intptr_t external);
66 void initExternal(
const void ** data,
size_t layers,
size_t faces,
size_t levels);
69 void * getData(
size_t layer,
size_t face,
size_t level);
70 const void * getData(
size_t layer,
size_t face,
size_t level)
const;
72 void * getData() {
return getData(0, 0, 0); }
73 const void * getData()
const {
return getData(0, 0, 0); }
75 size_t getPitch(
size_t level)
const;
76 size_t getLevelSize(
size_t level)
const;
77 size_t getFaceSize(
size_t baseLevel,
size_t maxLevel)
const;
78 size_t getLayerSize(
size_t baseFace,
size_t maxFace,
size_t baseLevel,
size_t maxLevel)
const;
79 size_t getSize()
const;
84 size_t getOffset(
size_t layer,
size_t face,
size_t level)
const;
85 void initOffsets(
const void * data);
87 TextureFormat format = Cogs::TextureFormat::Unknown;
100 intptr_t externalHandle = 0;
Base allocator implementation.
Contains all Cogs related functionality.
COGSRENDERING_DLL_API size_t estimateMemorySize() const
Attempts to estimate the amount of memory a texture with these attributes will require.
ETextureFlags
Texture flags enumeration.
@ Default
Default usage, the texture can be loaded once and bound and sampled in shaders.