Files
lace/3-mid/opengl/source/lean/opengl-frame_buffer.ads
2025-10-22 14:11:39 +11:00

64 lines
1.3 KiB
Ada

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;