55 lines
1020 B
Ada
55 lines
1020 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;
|