Graphics v0.0.0
A simple abstraction layer for the modern graphics APIs.
|
缓冲区. 更多...
#include <Buffer.h>
Public 类型 | |
enum class | Type { Vertex , Index , Uniform } |
缓冲区类型. 表明了缓冲区的用途. | |
enum class | Usage { Static , Dynamic , Stream } |
缓冲区使用方式. | |
Public 成员函数 | |
Buffer (size_t size, Type type, Usage usage) | |
构造函数. 更多... | |
template<typename T > | |
void | write (std::span< T > data, size_t offset=0) |
写入映射缓冲区. 更多... | |
void | write (const void *data, size_t size, size_t offset=0) |
写入映射缓冲区. 更多... | |
void | read (void *data, size_t size, size_t offset=0) |
读取映射缓冲区. 更多... | |
size_t | get_size () const |
获取缓冲区大小, 单位: 字节. | |
Type | get_type () const |
获取缓冲区类型. | |
Usage | get_usage () const |
获取缓冲区使用方式. | |
void * | get_data () |
获取映射的缓冲区. | |
virtual void | map (size_t size=-1, size_t offset=0)=0 |
映射缓冲区到内存. 更多... | |
virtual void | unmap ()=0 |
取消映射. 更多... | |
virtual void | flush (size_t size=-1, size_t offset=0)=0 |
刷新映射缓冲区. 更多... | |
Protected 属性 | |
size_t | size_ |
Type | type_ |
Usage | usage_ |
void * | data_ = nullptr |
缓冲区.
构造函数.
size | 缓冲区大小, 单位: 字节. |
type | 缓冲区类型. |
usage | 缓冲区使用方式. |
|
pure virtual |
|
pure virtual |
void Buffer::read | ( | void * | data, |
size_t | size, | ||
size_t | offset = 0 |
||
) |
读取映射缓冲区.
data | 要写入的缓冲区. |
size | 要读取的大小, 单位: byte. |
offset | 偏移量, 单位: byte. |
void Buffer::write | ( | const void * | data, |
size_t | size, | ||
size_t | offset = 0 |
||
) |
写入映射缓冲区.
data | 要写入的数据. |
size | 要写入的大小, 单位: byte. |
offset | 偏移量, 单位: byte. |
void Buffer::write | ( | std::span< T > | data, |
size_t | offset = 0 |
||
) |
写入映射缓冲区.
data | 要写入的数据. |
offset | 偏移量, 单位: byte. |