Graphics v0.0.0
A simple abstraction layer for the modern graphics APIs.
载入中...
搜索中...
未找到
GLBuffer.h
1// Copyright 2022 ShenMian
2// License(Apache-2.0)
3
4#pragma once
5
6#include "Buffer.h"
7#include <cstddef>
8#include <glad/glad.h>
9
10class GLBuffer : public Buffer
11{
12public:
13 GLBuffer(size_t size, Type type, Usage usage);
14 virtual ~GLBuffer();
15
16 void map(size_t size = -1, size_t offset = 0) override;
17 void unmap() override;
18 void flush(size_t size = -1, size_t offset = 0) override;
19
20 void bind();
21 operator GLuint() noexcept;
22 operator GLuint() const noexcept;
23
24private:
25 GLuint handle;
26 GLenum glType;
27};
缓冲区.
Definition: Buffer.h:13
Type
缓冲区类型. 表明了缓冲区的用途.
Definition: Buffer.h:19
Usage
缓冲区使用方式.
Definition: Buffer.h:29
Definition: GLBuffer.h:11
void unmap() override
取消映射.
Definition: GLBuffer.cpp:45
void flush(size_t size=-1, size_t offset=0) override
刷新映射缓冲区.
Definition: GLBuffer.cpp:51
void map(size_t size=-1, size_t offset=0) override
映射缓冲区到内存.
Definition: GLBuffer.cpp:33