Graphics v0.0.0
A simple abstraction layer for the modern graphics APIs.
载入中...
搜索中...
未找到
VKBuffer类 参考
类 VKBuffer 继承关系图:
Buffer

Public 成员函数

 VKBuffer (size_t size, Buffer::Type type, Buffer::Usage usage, VkMemoryPropertyFlags properties)
 
void map (size_t size=VK_WHOLE_SIZE, size_t offset=0) override
 映射缓冲区到内存. 更多...
 
void unmap () override
 取消映射. 更多...
 
void flush (size_t size=VK_WHOLE_SIZE, size_t offset=0) override
 刷新映射缓冲区. 更多...
 
 operator VkBuffer () noexcept
 
 operator VkBuffer () const noexcept
 
- Public 成员函数 继承自 Buffer
 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
 刷新映射缓冲区. 更多...
 

额外继承的成员函数

- Public 类型 继承自 Buffer
enum class  Type { Vertex , Index , Uniform }
 缓冲区类型. 表明了缓冲区的用途.
 
enum class  Usage { Static , Dynamic , Stream }
 缓冲区使用方式.
 
- Protected 属性 继承自 Buffer
size_t size_
 
Type type_
 
Usage usage_
 
void * data_ = nullptr
 

成员函数说明

◆ flush()

void VKBuffer::flush ( size_t  size = VK_WHOLE_SIZE,
size_t  offset = 0 
)
overridevirtual

刷新映射缓冲区.

参数
size要刷新的大小, 默认值: 全部.
offset偏移量, 单位: byte.

实现了 Buffer.

◆ map()

void VKBuffer::map ( size_t  size = VK_WHOLE_SIZE,
size_t  offset = 0 
)
overridevirtual

映射缓冲区到内存.

参数
size要映射的大小, 默认值: 全部.
offset偏移量, 单位: byte.

实现了 Buffer.

◆ unmap()

void VKBuffer::unmap ( )
overridevirtual

取消映射.

实现了 Buffer.


该类的文档由以下文件生成: