Add initial prototype.
This commit is contained in:
48
3-mid/opengl/source/lean/shader/opengl-program-lit.ads
Normal file
48
3-mid/opengl/source/lean/shader/opengl-program-lit.ads
Normal file
@@ -0,0 +1,48 @@
|
||||
with
|
||||
openGL.Palette,
|
||||
openGL.Light;
|
||||
|
||||
|
||||
package openGL.Program.lit
|
||||
--
|
||||
-- Models an openGL program which uses lighting.
|
||||
--
|
||||
is
|
||||
type Item is new openGL.Program.item with private;
|
||||
type View is access all Item'Class;
|
||||
|
||||
|
||||
------------
|
||||
-- Uniforms
|
||||
--
|
||||
|
||||
overriding
|
||||
procedure camera_Site_is (Self : in out Item; Now : in Vector_3);
|
||||
|
||||
overriding
|
||||
procedure model_Matrix_is (Self : in out Item; Now : in Matrix_4x4);
|
||||
|
||||
overriding
|
||||
procedure Lights_are (Self : in out Item; Now : in Light.items);
|
||||
|
||||
overriding
|
||||
procedure set_Uniforms (Self : in Item);
|
||||
|
||||
procedure specular_Color_is (Self : in out Item; Now : in Color);
|
||||
|
||||
|
||||
|
||||
private
|
||||
|
||||
type Item is new openGL.Program.item with
|
||||
record
|
||||
Lights : Light.items (1 .. 50);
|
||||
light_Count : Natural := 0;
|
||||
specular_Color : Color := Palette.Grey; -- The materials specular color.
|
||||
|
||||
camera_Site : Vector_3;
|
||||
model_Transform : Matrix_4x4 := Identity_4x4;
|
||||
end record;
|
||||
|
||||
|
||||
end openGL.Program.lit;
|
||||
Reference in New Issue
Block a user