Files
lace/3-mid/opengl/source/lean/renderer/opengl-culler.ads
2022-07-31 17:34:54 +10:00

46 lines
1.1 KiB
Ada

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;