|
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. |