opengl: Revamp multi-texturing.

This commit is contained in:
Rod Kay
2025-10-05 16:22:49 +11:00
parent 8a2a562a8b
commit 3e11a52f5d
48 changed files with 226 additions and 188 deletions

View File

@@ -152,25 +152,25 @@ is
the_ball_3_Model : constant Model.sphere.lit_textured.view
:= Model.sphere.lit_textured.new_Sphere (Radius => 1.0,
texture_Details => texture_Set.to_Details ([1 => the_Texture]),
texture_Details => texture_Set.to_Set ([1 => the_Texture]),
Image => the_Texture);
the_ball_4_Model : constant Model.sphere.lit_colored_textured.view
:= Model.sphere.lit_colored_textured.new_Sphere (Radius => 1.0,
texture_Details => texture_Set.to_Details ([1 => the_Texture]),
texture_Details => texture_Set.to_Set ([1 => the_Texture]),
Image => the_Texture);
the_billboard_Model : constant Model.billboard.textured.view
:= Model.billboard.textured.forge.new_Billboard (Size => (1.0, 1.0),
Plane => Billboard.xy,
texture_Details => texture_Set.to_Details ([1 => the_Texture]),
texture_Details => texture_Set.to_Set ([1 => the_Texture]),
Texture => the_Texture);
the_colored_billboard_Model : constant Model.billboard.textured.view -- TODO: Add color.
:= Model.billboard.textured.forge.new_Billboard (Size => (1.0, 1.0),
Plane => Billboard.xy,
Texture => the_Texture,
texture_Details => texture_Set.to_Details ([1 => the_Texture]));
texture_Details => texture_Set.to_Set ([1 => the_Texture]));
use Model.box;
the_box_1_Model : constant Model.box.colored.view
@@ -187,24 +187,24 @@ is
:= Model.box.lit_textured.new_Box
(Size => [1.0, 2.0, 1.0],
Faces => [others => (texture_Name => the_Texture)],
texture_Details => texture_Set.to_Details ([1 => the_Texture]));
texture_Details => texture_Set.to_Set ([1 => the_Texture]));
the_box_3_Model : constant Model.box.textured.view
:= Model.box.textured.new_Box
(Size => [1.0, 2.0, 3.0],
Faces => [others => (texture_Name => the_Texture)],
texture_Details => texture_Set.to_Details ([1 => the_Texture]));
texture_Details => texture_Set.to_Set ([1 => the_Texture]));
the_capsule_Model : constant Model.capsule.lit_textured.view
:= Model.capsule.lit_textured.new_Capsule (Radius => 0.5,
Height => 2.0,
texture_Details => texture_Set.to_Details ([1 => the_Texture]),
texture_Details => texture_Set.to_Set ([1 => the_Texture]),
Image => the_Texture);
the_lit_textured_circle_Model : constant Model.circle.lit_textured.view
:= Model.circle.lit_textured.new_Circle (Radius => 1.5,
Texture_Details => (openGL.texture_Set.to_Details ([1 => the_Texture])),
Texture_Details => (openGL.texture_Set.to_Set ([1 => the_Texture])),
Sides => 24);
the_grid_Model : constant Model.grid.view
@@ -219,7 +219,7 @@ is
the_textured_hexagon_Model : constant Model.hexagon.lit_textured.view
:= Model.hexagon.lit_textured.new_Hexagon (Radius => 0.5,
texture_Details => texture_Set.to_Details ([1 => the_Texture]));
texture_Details => texture_Set.to_Set ([1 => the_Texture]));
the_faceted_hexagon_column_Model : constant Model.hexagon_Column.lit_colored_faceted.view
:= Model.hexagon_Column.lit_colored_faceted.new_hexagon_Column
@@ -254,7 +254,7 @@ is
:= Model.any.new_Model (--Scale => (1.0, 1.0, 1.0),
Model => to_Asset ("assets/opengl/model/human.obj"),
Texture => the_Texture,
texture_Details => openGL.texture_Set.to_Details ([1 => the_Texture]),
texture_Details => openGL.texture_Set.to_Set ([1 => the_Texture]),
Texture_is_lucid => False);
the_lit_colored_polygon_Model : constant Model.polygon.lit_colored.view
@@ -263,13 +263,13 @@ is
the_lit_textured_polygon_Model : constant Model.polygon.lit_textured.view
:= Model.polygon.lit_textured.new_Polygon (vertex_Sites => [Origin_2D, [1.0, 0.0], [1.0, 1.0], [-1.0, 0.5]],
texture_Details => openGL.texture_Set.to_Details ([1 => the_Texture]));
texture_Details => openGL.texture_Set.to_Set ([1 => the_Texture]));
the_text_Model : constant Model.Text.lit_colored.view
:= Model.Text.lit_colored.new_Text (Text => "Once upon a midnight dreary ...",
Font => the_font_Id,
Color => (Green, Opaque),
texture_Details => openGL.texture_Set.to_Details ([1 => the_Texture]),
texture_Details => openGL.texture_Set.to_Set ([1 => the_Texture]),
Centered => True);
the_segment_line_Model : constant Model.segment_line.view
@@ -290,7 +290,7 @@ is
Col => 1,
Heights => the_Region.all'Access,
Color_Map => texture_File,
texture_Details => openGL.texture_Set.to_Details ([1 => texture_File]),
texture_Details => openGL.texture_Set.to_Set ([1 => texture_File]),
Tiling => Tiling);
begin
Demo.Renderer.add_Font (the_font_Id);