opengl.shaders: Use unified lighting and texturing 'snippets' for fragment shaders.
This commit is contained in:
@@ -77,8 +77,10 @@ is
|
||||
begin
|
||||
the_Program.Program := new openGL.Program.lit.item;
|
||||
|
||||
the_Program. vertex_Shader.define (Shader.Vertex, "assets/opengl/shader/lit_colored.vert");
|
||||
the_Program.fragment_Shader.define (Shader.Fragment, "assets/opengl/shader/lit_colored.frag");
|
||||
the_Program. vertex_Shader.define (Shader.Vertex, "assets/opengl/shader/lit_colored.vert");
|
||||
the_Program.fragment_Shader.define (Shader.Fragment, (asset_Names' (1 => to_Asset ("assets/opengl/shader/version.header"),
|
||||
2 => to_Asset ("assets/opengl/shader/lighting-frag.snippet"),
|
||||
3 => to_Asset ("assets/opengl/shader/lit_colored.frag"))));
|
||||
|
||||
the_Program.Program.define (the_Program. vertex_Shader'Access,
|
||||
the_Program.fragment_Shader'Access);
|
||||
|
||||
@@ -102,7 +102,7 @@ is
|
||||
|
||||
if is_Defined
|
||||
then
|
||||
raise Error with "The lit_colored_textured_skinned program has already been defined.";
|
||||
raise Error with "The 'lit_colored_textured_skinned' program has already been defined.";
|
||||
end if;
|
||||
|
||||
is_Defined := True;
|
||||
@@ -110,8 +110,9 @@ is
|
||||
-- Define the shaders and program.
|
||||
--
|
||||
vertex_Shader .define (Shader.Vertex, "assets/opengl/shader/lit_colored_skinned.vert");
|
||||
fragment_Shader.define (Shader.Fragment, "assets/opengl/shader/lit_colored_skinned.frag");
|
||||
|
||||
fragment_Shader.define (Shader.Fragment, (asset_Names' (1 => to_Asset ("assets/opengl/shader/version.header"),
|
||||
2 => to_Asset ("assets/opengl/shader/lighting-frag.snippet"),
|
||||
3 => to_Asset ("assets/opengl/shader/lit_colored_skinned.frag"))));
|
||||
the_Program.define ( vertex_Shader'Access,
|
||||
fragment_Shader'Access);
|
||||
the_Program.enable;
|
||||
|
||||
@@ -99,8 +99,24 @@ is
|
||||
white_Texture := openGL.Texture.Forge.to_Texture (white_Image);
|
||||
the_Program.Program := new openGL.Program.lit.item;
|
||||
|
||||
the_Program. vertex_Shader.define (Shader.Vertex, "assets/opengl/shader/lit_colored_textured.vert");
|
||||
the_Program.fragment_Shader.define (Shader.Fragment, use_fragment_Shader);
|
||||
the_Program.vertex_Shader.define (Shader.Vertex, "assets/opengl/shader/lit_colored_textured.vert");
|
||||
|
||||
if use_fragment_Shader = "assets/opengl/shader/lit_colored_text.frag"
|
||||
then
|
||||
the_Program.fragment_Shader.define (Shader.Fragment, use_fragment_Shader);
|
||||
|
||||
-- TODO: The below code produces ugly text. Investigate and fix.
|
||||
--
|
||||
-- the_Program.fragment_Shader.define (Shader.Fragment, (asset_Names' (1 => to_Asset ("assets/opengl/shader/version.header"),
|
||||
-- 2 => to_Asset ("assets/opengl/shader/texturing-frag.snippet"),
|
||||
-- 3 => to_Asset ("assets/opengl/shader/lighting-frag.snippet"),
|
||||
-- 4 => to_Asset ("assets/opengl/shader/lit_colored_textured.frag"))));
|
||||
else
|
||||
the_Program.fragment_Shader.define (Shader.Fragment, (asset_Names' (1 => to_Asset ("assets/opengl/shader/version.header"),
|
||||
2 => to_Asset ("assets/opengl/shader/texturing-frag.snippet"),
|
||||
3 => to_Asset ("assets/opengl/shader/lighting-frag.snippet"),
|
||||
4 => to_Asset ("assets/opengl/shader/lit_colored_textured.frag"))));
|
||||
end if;
|
||||
|
||||
the_Program.Program.define (the_Program. vertex_Shader'Access,
|
||||
the_Program.fragment_Shader'Access);
|
||||
|
||||
@@ -126,7 +126,11 @@ is
|
||||
white_Texture := openGL.Texture.Forge.to_Texture (white_Image);
|
||||
|
||||
vertex_Shader .define (Shader.Vertex, "assets/opengl/shader/lit_colored_textured_skinned.vert");
|
||||
fragment_Shader.define (Shader.Fragment, "assets/opengl/shader/lit_colored_textured_skinned.frag");
|
||||
fragment_Shader.define (Shader.Fragment, (asset_Names' (1 => to_Asset ("assets/opengl/shader/version.header"),
|
||||
2 => to_Asset ("assets/opengl/shader/lighting-frag.snippet"),
|
||||
3 => to_Asset ("assets/opengl/shader/texturing-frag.snippet"),
|
||||
4 => to_Asset ("assets/opengl/shader/lit_colored_textured.frag"))));
|
||||
-- fragment_Shader.define (Shader.Fragment, "assets/opengl/shader/lit_colored_textured_skinned.frag");
|
||||
|
||||
the_Program.define ( vertex_Shader'Access,
|
||||
fragment_Shader'Access);
|
||||
|
||||
@@ -82,8 +82,9 @@ is
|
||||
|
||||
vertex_Shader .define (Shader.Vertex, "assets/opengl/shader/lit_textured.vert");
|
||||
fragment_Shader.define (Shader.Fragment, (asset_Names' (1 => to_Asset ("assets/opengl/shader/version.header"),
|
||||
2 => to_Asset ("assets/opengl/shader/texturing.frag"),
|
||||
3 => to_Asset ("assets/opengl/shader/lit_textured.frag"))));
|
||||
2 => to_Asset ("assets/opengl/shader/texturing-frag.snippet"),
|
||||
3 => to_Asset ("assets/opengl/shader/lighting-frag.snippet"),
|
||||
4 => to_Asset ("assets/opengl/shader/lit_textured.frag"))));
|
||||
the_Program := new openGL.Program.lit.item;
|
||||
the_Program.define ( vertex_Shader'Access,
|
||||
fragment_Shader'Access);
|
||||
|
||||
@@ -115,8 +115,11 @@ is
|
||||
white_Texture := openGL.Texture.Forge.to_Texture (white_Image);
|
||||
|
||||
vertex_Shader .define (Shader.Vertex, "assets/opengl/shader/lit_textured_skinned.vert");
|
||||
fragment_Shader.define (Shader.Fragment, "assets/opengl/shader/lit_textured_skinned.frag");
|
||||
|
||||
-- fragment_Shader.define (Shader.Fragment, "assets/opengl/shader/lit_textured_skinned.frag");
|
||||
fragment_Shader.define (Shader.Fragment, (asset_Names' (1 => to_Asset ("assets/opengl/shader/version.header"),
|
||||
2 => to_Asset ("assets/opengl/shader/lighting-frag.snippet"),
|
||||
3 => to_Asset ("assets/opengl/shader/texturing-frag.snippet"),
|
||||
4 => to_Asset ("assets/opengl/shader/lit_textured.frag"))));
|
||||
the_Program.define ( vertex_Shader'Access,
|
||||
fragment_Shader'Access);
|
||||
the_Program.enable;
|
||||
|
||||
@@ -76,7 +76,7 @@ is
|
||||
|
||||
vertex_Shader .define (Shader.vertex, "assets/opengl/shader/textured.vert");
|
||||
fragment_Shader.define (Shader.Fragment, (asset_Names' (1 => to_Asset ("assets/opengl/shader/version.header"),
|
||||
2 => to_Asset ("assets/opengl/shader/texturing.frag"),
|
||||
2 => to_Asset ("assets/opengl/shader/texturing-frag.snippet"),
|
||||
3 => to_Asset ("assets/opengl/shader/textured.frag"))));
|
||||
the_Program := new openGL.Program.item;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user