diff options
author | LaG1924 <lag1924@gmail.com> | 2021-11-15 08:55:20 +0100 |
---|---|---|
committer | LaG1924 <lag1924@gmail.com> | 2021-11-15 08:55:20 +0100 |
commit | 663821b00ca8440509e0bc6d5022c809c7fe1cff (patch) | |
tree | ca1492c89efccf193f1640b7195f4f8a5ced3a39 /src/Gal.hpp | |
parent | Added ScissorTest to Gal (diff) | |
download | AltCraft-663821b00ca8440509e0bc6d5022c809c7fe1cff.tar AltCraft-663821b00ca8440509e0bc6d5022c809c7fe1cff.tar.gz AltCraft-663821b00ca8440509e0bc6d5022c809c7fe1cff.tar.bz2 AltCraft-663821b00ca8440509e0bc6d5022c809c7fe1cff.tar.lz AltCraft-663821b00ca8440509e0bc6d5022c809c7fe1cff.tar.xz AltCraft-663821b00ca8440509e0bc6d5022c809c7fe1cff.tar.zst AltCraft-663821b00ca8440509e0bc6d5022c809c7fe1cff.zip |
Diffstat (limited to '')
-rw-r--r-- | src/Gal.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Gal.hpp b/src/Gal.hpp index 06850ea..8089fd3 100644 --- a/src/Gal.hpp +++ b/src/Gal.hpp @@ -77,9 +77,17 @@ namespace Gal { Clamp, }; + enum class Primitive { + Triangle, + TriangleStrip, + TriangleFan, + }; + struct VertexAttribute { std::string name; Type type; + size_t count = 1; + size_t instances = 0; }; Impl* GetImplementation(); @@ -165,6 +173,8 @@ namespace Gal { virtual void SetTarget(std::shared_ptr<Framebuffer> target) = 0; + virtual void SetPrimitive(Primitive primitive) = 0; + virtual std::shared_ptr<BufferBinding> BindVertexBuffer(std::vector<VertexAttribute> &&bufferLayout) = 0; virtual std::shared_ptr<BufferBinding> BindIndexBuffer() = 0; @@ -212,6 +222,8 @@ namespace Gal { virtual void Activate() = 0; virtual void Render(size_t offset = 0, size_t count = -1) = 0; + + virtual void SetInstancesCount(size_t count) = 0; }; struct Framebuffer { |