Struct VertexArray

Inheritance Relationships

Base Type

Struct Documentation

struct VertexArray : public CE::Rendering::Geometry::Buffer2D

Declaration: final

Public Functions

VertexArray(std::shared_ptr<::CE::Rendering::OpenGL::ResourceLifetime> lifetime, std::span<const ::CE::Rendering::Geometry::Vertex2D> vertices, ::CE::Rendering::Geometry::Topology topology)
VertexArray(std::shared_ptr<::CE::Rendering::OpenGL::ResourceLifetime> lifetime, std::span<const ::CE::Rendering::Geometry::Vertex2DColor> vertices, ::CE::Rendering::Geometry::Topology topology)
VertexArray(std::shared_ptr<::CE::Rendering::OpenGL::ResourceLifetime> lifetime, std::shared_ptr<::CE::Rendering::Geometry::Vertex2D> vertices, uint32_t num_vertices, ::CE::Rendering::Geometry::Topology topology)
VertexArray(std::shared_ptr<::CE::Rendering::OpenGL::ResourceLifetime> lifetime, std::shared_ptr<::CE::Rendering::Geometry::Vertex3D> vertices, uint32_t num_vertices, std::shared_ptr<uint32_t> indices, uint32_t num_indices)
virtual void bind() const override
virtual void draw(std::size_t first_vertex, std::size_t vertex_count) const override
inline virtual ::CE::Rendering::Geometry::Layout2D vertex_layout() const noexcept override

Declaration: [[nodiscard]]

inline virtual ::CE::Rendering::Geometry::Topology topology() const noexcept override

Declaration: [[nodiscard]]

inline virtual std::size_t vertex_count() const noexcept override

Declaration: [[nodiscard]]

inline const ::CE::Rendering::OpenGL::ResourceLifetime *resource_domain() const noexcept

Declaration: [[nodiscard]]

void require_draw(std::size_t first_vertex, std::size_t vertex_count) const

Protected Types

enum VAOType

Values:

enumerator flat
enumerator mesh

Protected Attributes

enum CE::Rendering::OpenGL::VertexArray::VAOType type
::CE::Rendering::Geometry::Topology topology_ = ::CE::Rendering::Geometry::Topology::Triangles
::CE::Rendering::Geometry::Layout2D layout_ = ::CE::Rendering::Geometry::Layout2D::Position3UV2
std::size_t vertex_count_ = 0
::CE::Rendering::OpenGL::Handle vao_
std::array<::CE::Rendering::OpenGL::Handle, 2> vbo_