openGL.Geometry.texturing: Factor out texturing code from 'openGL.Geometry.lit_textured'.

This commit is contained in:
Rod Kay
2023-05-31 08:05:58 +10:00
parent f1d7b2c645
commit 6850241aa9
3 changed files with 162 additions and 104 deletions

View File

@@ -0,0 +1,52 @@
with
openGL.Variable.uniform,
openGL.texture_Set,
openGL.Program;
limited
with
openGL.Model;
private
package openGL.Geometry.texturing
--
-- Provides texturing support for geometries.
--
is
--- Uniforms
--
type texture_fade_Uniform_pair is
record
texture_Uniform : openGL.Variable.uniform.sampler2D;
fade_Uniform : openGL.Variable.uniform.float;
end record;
type texture_fade_Uniform_pairs is array (openGL.texture_Set.texture_Id
range 1 .. openGL.texture_Set.max_Textures) of texture_fade_Uniform_pair;
type Uniforms is
record
Textures : texture_fade_Uniform_pairs;
Count : openGL.Variable.uniform.int;
end record;
--- Operations
--
procedure enable (for_Model : in openGL.Model.view;
Uniforms : in texturing.Uniforms;
texture_Set : in openGL.texture_Set.Item);
procedure create (Uniforms : out texturing.Uniforms;
for_Program : in openGL.Program.view);
end openGL.Geometry.texturing;