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

47 lines
1.4 KiB
Ada

package openGL.Impostor.terrain
--
-- Handles impostoring of terrain 'visuals', which has greater image precision needs, to help avoid border cracks.
--
is
type Item is new Impostor.item with private;
type View is access all Item'Class;
overriding
procedure set_Target (Self : in out Item; Target : in openGL.Visual.view);
overriding
function current_Camera_look_at_Rotation
(Self : in Item) return Matrix_3x3;
overriding
function update_Required (Self : access Item; the_Camera : access Camera.item'Class) return Boolean;
overriding
procedure update (Self : in out Item; the_Camera : access Camera.item'Class;
texture_Pool : in Texture.Pool_view);
overriding
procedure pre_update (Self : in out Item; the_Camera : access Camera.item'Class);
overriding
procedure post_update (Self : in out Item; the_Camera : access Camera.item'Class);
procedure free (Self : in out View);
private
type Item is new Impostor.item with
record
current_Complete : Boolean;
prior_copy_Width : gl.glSizeI := 0;
prior_copy_Height : gl.glSizeI := 0;
prior_Complete : Boolean := False;
current_Camera_look_at_Rotation : Matrix_3x3 := Identity_3x3;
end record;
end openGL.Impostor.terrain;