1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 05:48:12 +00:00

LibGL: Implement glDrawArrays

This commit is contained in:
Stephan Unverwerth 2021-08-13 15:22:29 +02:00 committed by Andreas Kling
parent b9261ade52
commit e64d0d43d2
5 changed files with 147 additions and 1 deletions

View file

@ -79,6 +79,7 @@ public:
virtual void gl_vertex_pointer(GLint size, GLenum type, GLsizei stride, const void* pointer) override;
virtual void gl_color_pointer(GLint size, GLenum type, GLsizei stride, const void* pointer) override;
virtual void gl_tex_coord_pointer(GLint size, GLenum type, GLsizei stride, const void* pointer) override;
virtual void gl_draw_arrays(GLenum mode, GLint first, GLsizei count) override;
virtual void present() override;
@ -208,7 +209,8 @@ private:
decltype(&SoftwareGLContext::gl_hint),
decltype(&SoftwareGLContext::gl_read_buffer),
decltype(&SoftwareGLContext::gl_tex_parameter),
decltype(&SoftwareGLContext::gl_depth_mask)>;
decltype(&SoftwareGLContext::gl_depth_mask),
decltype(&SoftwareGLContext::gl_draw_arrays)>;
using ExtraSavedArguments = Variant<
FloatMatrix4x4>;
@ -234,6 +236,8 @@ private:
const void* pointer { 0 };
};
static void read_from_vertex_attribute_pointer(VertexAttribPointer const&, int index, float* elements, bool normalize);
VertexAttribPointer m_client_vertex_pointer;
VertexAttribPointer m_client_color_pointer;
VertexAttribPointer m_client_tex_coord_pointer;