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,61 @@
with
openGL.Texture;
package openGL.Frame_Buffer
is
type Item is tagged private;
null_Buffer : constant Item;
---------
--- Forge
--
package Forge
is
function to_Frame_Buffer return Item;
function to_Frame_Buffer (Width,
Height : in Positive) return Item;
end Forge;
procedure destruct (Self : in out Item);
--------------
--- Attributes
--
subtype Buffer_Name is GL.GLuint; -- An openGL frame buffer 'Name'.
function Name (Self : in Item) return Buffer_Name;
function Texture (Self : in Item) return openGL.Texture.Object;
procedure Texture_is (Self : in out Item; now : in openGL.Texture.Object);
function is_complete (Self : in Item) return Boolean;
--------------
--- Operations
--
procedure enable (Self : in Item);
procedure disable (Self : in Item);
--
-- Unbind the frame buffer so rendering will return to the backbuffer.
private
type Item is tagged
record
Name : aliased buffer_Name;
Texture : openGL.Texture.Object;
end record;
null_Buffer : constant Item := (Name => 0,
Texture => openGL.Texture.null_Object);
end openGL.Frame_Buffer;