Add initial prototype.

This commit is contained in:
Rod Kay
2022-07-31 17:34:54 +10:00
commit 54a53b2ac0
1421 changed files with 358874 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
with
openGL.Renderer.lean,
openGL.Visual,
openGL.Frustum;
package openGL.Culler
--
-- Provides a base class for cullers.
--
is
type Item is abstract tagged limited private;
type View is access all Item'Class;
--------------
--- Attributes
--
procedure add (Self : in out Item; the_Visual : in Visual.view) is abstract;
procedure rid (Self : in out Item; the_Visual : in Visual.view) is abstract;
function object_Count (Self : in Item) return Natural is abstract;
function Viewer (Self : in Item'Class) return Renderer.lean.view;
procedure Viewer_is (Self : in out Item'Class; Now : in Renderer.lean.view);
--------------
-- Operations
--
function cull (Self : in Item; the_Visuals : in Visual.views;
camera_Frustum : in frustum.Plane_array;
camera_Site : in Vector_3) return Visual.views
is abstract;
private
type Item is abstract tagged limited
record
Viewer : Renderer.lean.view;
end record;
end openGL.Culler;