diff --git a/3-mid/opengl/source/lean/geometry/opengl-geometry-texturing.ads b/3-mid/opengl/source/lean/geometry/opengl-geometry-texturing.ads index 677b522..0f74ae3 100644 --- a/3-mid/opengl/source/lean/geometry/opengl-geometry-texturing.ads +++ b/3-mid/opengl/source/lean/geometry/opengl-geometry-texturing.ads @@ -10,7 +10,9 @@ package openGL.Geometry.texturing -- is - type fade_Level is delta 0.001 range 0.0 .. 1.0; -- '0.0' is no fading, '1.0' is fully faded (ie invisible). + type fade_Level is delta 0.001 range 0.0 .. 1.0 -- '0.0' is no fading, '1.0' is fully faded (ie invisible). + with Atomic; + type fade_Levels is array (texture_Id range <>) of fade_Level; diff --git a/3-mid/opengl/source/lean/model/opengl-model-hexagon-lit_textured.ads b/3-mid/opengl/source/lean/model/opengl-model-hexagon-lit_textured.ads index 60ecb98..fbfe2b0 100644 --- a/3-mid/opengl/source/lean/model/opengl-model-hexagon-lit_textured.ads +++ b/3-mid/opengl/source/lean/model/opengl-model-hexagon-lit_textured.ads @@ -11,10 +11,11 @@ is type Item is new Model.item with private; type View is access all Item'Class; + type Face is record - Fades : Geometry.texturing.fade_Levels (Geometry.texture_Id) := [others => 0.0]; - Textures : openGL.asset_Names (1 .. Positive (Geometry.texture_Id'Last)) := [others => null_Asset]; -- The textures to be applied to the hex. + Fades : Geometry.texturing.fade_Levels (Geometry.texture_Id) := [others => 0.0]; + Textures : openGL.asset_Names (1 .. Positive (Geometry.texture_Id'Last)) := [others => null_Asset]; -- The textures to be applied to the hex. texture_Count : Natural := 0; end record; @@ -49,6 +50,7 @@ is procedure Texture_is (Self : in out Item; Which : in Geometry.texture_Id; Now : in openGL.asset_Name); + overriding function texture_Count (Self : in Item) return Natural;