class
#include <core/gl/render_device.hpp>
Texture2D Abstract 2D texture.
Public functions
- void update(std::size_t x, std::size_t y, std::size_t width, std::size_t height, const void* data, std::size_t level = 0) pure virtual
- Updates the texture with new data, which must have the same format used when the texture was created.
- void read(void* outputBuffer) pure virtual
- Reads texture data into a buffer, which must have the same format used when the texture was created.
-
void copyTo(std::size_t x,
std::size_t y,
std::size_t width,
std::size_t height,
gl::
PixelPackBuffer buffer) pure virtual - Copies part of the texture data into a pixel pack buffer.
- void generateMipmaps() pure virtual
- Generates mipmaps on this texture.
Function documentation
void cubos:: core:: gl:: impl:: Texture2D:: update(std::size_t x,
std::size_t y,
std::size_t width,
std::size_t height,
const void* data,
std::size_t level = 0) pure virtual
Updates the texture with new data, which must have the same format used when the texture was created.
Parameters | |
---|---|
x | Destination X coordinate. |
y | Destination Y coordinate. |
width | Width of the section which will be updated. |
height | Height of the section which will be updated. |
data | Pointer to the new data. |
level | Mip level to update. |
void cubos:: core:: gl:: impl:: Texture2D:: read(void* outputBuffer) pure virtual
Reads texture data into a buffer, which must have the same format used when the texture was created.
Parameters | |
---|---|
outputBuffer | Buffer to write the data to. |
void cubos:: core:: gl:: impl:: Texture2D:: copyTo(std::size_t x,
std::size_t y,
std::size_t width,
std::size_t height,
gl:: PixelPackBuffer buffer) pure virtual
Copies part of the texture data into a pixel pack buffer.
Parameters | |
---|---|
x | Source X coordinate. |
y | Source Y coordinate. |
width | Width of the section which will be copied. |
height | Height of the section which will be copied. |
buffer | Buffer to copy into. |
The output buffer will store data in one of the three following formats:
- If the texture format ends with
Norm
, then the output format will be TextureFormat::RGBA8UInt. - If the texture format ends with
SInt
, then the output format will be TextureFormat::RGBA32SInt. - If the texture format ends with
UInt
, then the output format will be TextureFormat::RGBA32UInt. - Otherwise, the output format will be TextureFormat::
RGBA32Float.