8#include <math/math.hpp>
33 static std::shared_ptr<CommandBuffer> create();
43 virtual void end() = 0;
45 virtual void begin_render_pass() = 0;
46 virtual void end_render_pass() = 0;
48 virtual void set_viewport(
const Viewport& viewport) = 0;
49 virtual void set_pipeline(std::shared_ptr<Pipeline> pipeline) = 0;
50 virtual void set_vertex_buffer(std::shared_ptr<VertexBuffer> vertex_buffer) = 0;
51 virtual void set_index_buffer(std::shared_ptr<IndexBuffer> index_buffer) = 0;
52 virtual void set_texture(std::shared_ptr<Texture> texture,
unsigned int slot) = 0;
61 virtual void clear(uint8_t flags) = 0;
84 virtual void draw(uint32_t vertex_count, uint32_t first_vertex = 0) = 0;
85 virtual void draw_indexed(uint32_t index_count, uint32_t first_index = 0) = 0;
命令缓冲区.
Definition: CommandBuffer.h:31
virtual void set_clear_stencil(uint32_t value)=0
设置清空模板缓冲区的默认值.
virtual void begin()=0
开始记录命令.
virtual void set_clear_color(const Vector4 &color)=0
设置清空颜色缓冲区的默认值.
virtual void clear(uint8_t flags)=0
清空缓冲区.
virtual void end()=0
结束记录命令.
virtual void set_clear_depth(float depth)=0
设置清空深度缓冲区的默认值.
索引缓冲区.
Definition: IndexBuffer.h:16
图形管线.
Definition: Pipeline.h:63
纹理.
Definition: Texture.h:31
顶点缓冲区.
Definition: VertexBuffer.h:16
Definition: CommandBuffer.h:18
视口.
Definition: Viewport.hpp:12