Files
lace/3-mid/opengl/source/lean/geometry/opengl-primitive-non_indexed.adb
2025-10-22 14:11:39 +11:00

57 lines
1022 B
Ada

with
openGL.Errors,
openGL.Tasks,
GL.Binding;
package body openGL.Primitive.non_indexed
is
---------
-- Forge
--
overriding
procedure define (Self : in out Item; Kind : in facet_Kind)
is
begin
Self.facet_Kind := Kind;
end define;
function new_Primitive (Kind : in facet_Kind;
vertex_Count : in Natural) return Primitive.non_indexed.view
is
Self : constant View := new Item;
begin
define (Self.all, Kind);
Self.vertex_Count := vertex_Count;
return Self;
end new_Primitive;
overriding
procedure destroy (Self : in out Item) is null;
--------------
-- Operations
--
overriding
procedure render (Self : in out Item)
is
use GL,
GL.Binding;
begin
Tasks.check;
glDrawArrays (Thin (Self.facet_Kind),
0,
gl.GLint (Self.vertex_Count));
Errors.log;
end render;
end openGL.Primitive.non_indexed;