Files
libsst/Include/ZRenderer/ZDimensionTexture.hpp
2026-04-03 00:22:39 -05:00

92 lines
2.0 KiB
C++

/*
ZDimensionTexture.hpp
Author: James Russell <jcrussell@762studios.com>
Created: 7/1/2012
Purpose:
'Dimension' (1D, 2D, 3D) Texture Interface.
License:
TODO
*/
#pragma once
#ifndef _ZDIMENSIONTEXTURE_HPP
#define _ZDIMENSIONTEXTURE_HPP
#include <ZUtil/ZBitmap.hpp>
#include <ZRenderer/ZTexture.hpp>
//Two dimensional texture interface class
class ZDimensionTexture : public ZTexture
{
public:
//Virtual Destructor
virtual ~ZDimensionTexture() { }
/*
virtual public ZDimensionTexture::Fill
Fills this texture with the data given in the bitmap data structure.
@param _data - the bitmap data
@return (bool) - true if able to fill the texture, false if unable (contested or locked)
@context (all)
*/
virtual bool Fill(const void* _data) = 0;
/*
virtual public ZDimensionTexture::GetBitmap
Function to get the image metadata for a texture as a ZBitmap. Does not get the
bitmap data field in the ZBitmap instance, which is set to NULL.
@return (const ZBitmapFormat) - bitmap format
@context (all)
*/
virtual const ZBitmapFormat GetBitmapFormat() = 0;
/*
virtual public ZDimensionTexture::Map
Maps this texture into memory and locks this texture until 'UnmapTexture' is called.
The bitmap parameter is a description of how the data is laid out in memory.
If the discard parameter is set to true, this tells the implementation that the data
that is currently present in the texture is not required, and this may result in a faster
return.
@param _discard - hint to the implementation that the data in the texture can be discarded
@return (void*) - pointer to the mapped buffer
@context (all)
*/
virtual void* Map( bool _discard) = 0;
/*
virtual public ZDimensionTexture::Unmap
Unmaps a previously mapped texture and unlocks the texture.
@return (void)
@context (all)
*/
virtual void Unmap() = 0;
//Not Implemented
virtual ZTextureType GetType() = 0;
//Not Implemented
virtual ZTextureUsage GetUsage() = 0;
//Not Implemented
virtual bool IsMipmapped() = 0;
};
#endif