]> git.tdb.fi Git - libs/gl.git/commitdiff
Remove deprecated interfaces from material and lighting code
authorMikko Rasa <tdb@tdb.fi>
Sat, 2 Oct 2021 11:05:00 +0000 (14:05 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sat, 2 Oct 2021 11:05:00 +0000 (14:05 +0300)
shaderlib/msp_interface.glsl
source/materials/light.cpp
source/materials/light.h
source/materials/lighting.cpp
source/materials/lighting.h
source/materials/renderpass.cpp
source/materials/renderpass.h
source/materials/technique.cpp
source/materials/technique.h

index 860b0c794d23a4b6edd0bd61859f8e2f1dfd82ae..6c229da0f32da92fc9bd76db74241a5542fba478 100644 (file)
@@ -24,9 +24,6 @@ uniform Lighting
        // Declared as an array for compatibility reasons
        LightSourceParameters light_sources[1];
        vec4 ambient_color;
-       vec4 sky_color;
-       vec3 world_zenith_dir;
-       float horizon_limit;
        vec4 fog_color;
        float fog_density;
 };
index 8f5461727879545999e4566827a8574cc5c6ff7c..7c78b393fc32431b43904ed1dcdd14409446bb94 100644 (file)
@@ -129,10 +129,6 @@ Light::Loader::Loader(Light &l):
        add("spot_direction", &Loader::spot_direction);
        add("spot_exponent", &Loader::spot_exponent);
        add("spot_cutoff", &Loader::spot_cutoff);
-
-       // Deprecated
-       add("diffuse", &Loader::color);
-       add("specular");
 }
 
 void Light::Loader::attenuation(float c, float l, float q)
index a6ffd16efd3701d456cb3b0d3578b0ee558d6f6b..05a05aa90040a65bbf1017a070fdc9ab85cb75c0 100644 (file)
@@ -71,11 +71,6 @@ public:
        const Color &get_color() const { return color; }
        const Color &get_transmittance() const { return transmittance; }
 
-       DEPRECATED void set_diffuse(const Color &c) { set_color(c); }
-       DEPRECATED void set_specular(const Color &) { }
-       DEPRECATED const Color &get_diffuse() const { return color; }
-       DEPRECATED const Color &get_specular() const { return color; }
-
        /** Sets the postion and orientation of the Light from a matrix.  Negative Z
        axis is used as the spot direction, other axes are ignored. */
        virtual void set_matrix(const Matrix &);
index 0fc26ab5a7f17c921dafb54d1c8d02deb725afad..20c812fe58cfd3e6ee7434bef5f10707db67f01c 100644 (file)
@@ -12,9 +12,7 @@ using namespace std;
 namespace Msp {
 namespace GL {
 
-Lighting::Lighting():
-       zenith_direction(0, 0, 1),
-       horizon_angle(Geometry::Angle<float>::zero())
+Lighting::Lighting()
 {
        set_ambient(0.2f);
        set_fog_color(Color(0.0f, 0.0f, 0.0f, 0.0f));
@@ -27,24 +25,6 @@ void Lighting::set_ambient(const Color &a)
        shdata.uniform("ambient_color", ambient);
 }
 
-void Lighting::set_sky_color(const Color &s)
-{
-       sky_color = s;
-       shdata.uniform("sky_color", sky_color);
-}
-
-void Lighting::set_zenith_direction(const Vector3 &d)
-{
-       zenith_direction = d;
-       shdata.uniform("world_zenith_dir", zenith_direction);
-}
-
-void Lighting::set_horizon_angle(const Geometry::Angle<float> &a)
-{
-       horizon_angle = a;
-       shdata.uniform("horizon_limit", horizon_angle.radians());
-}
-
 void Lighting::set_fog_color(const Color &c)
 {
        fog_color = c;
@@ -78,33 +58,6 @@ void Lighting::detach(const Light &l)
                lights.erase(i);
 }
 
-void Lighting::detach(unsigned i)
-{
-       if(i>=lights.size())
-               return;
-
-       detach(*lights[i].light);
-}
-
-const Light *Lighting::get_attached_light(unsigned i) const
-{
-       return i<lights.size() ? lights[i].light : 0;
-}
-
-void Lighting::update_shader_data(ProgramData &sd, const Matrix &) const
-{
-       sd.uniform("ambient_color", ambient);
-       sd.uniform("sky_color", sky_color);
-       sd.uniform("world_zenith_dir", zenith_direction);
-       sd.uniform("horizon_limit", horizon_angle.radians());
-       sd.uniform("fog_color", fog_color);
-       sd.uniform("fog_density", fog_density);
-
-       for(unsigned i=0; i<lights.size(); ++i)
-               if(lights[i].light)
-                       lights[i].light->update_shader_data(sd, i);
-}
-
 const ProgramData &Lighting::get_shader_data() const
 {
        for(unsigned i=0; i<lights.size(); ++i)
@@ -149,12 +102,6 @@ void Lighting::Loader::init_actions()
        add("fog_half_distance", &Loader::fog_half_distance);
        add("light", &Loader::light);
        add("light", &Loader::light_inline);
-
-       // Deprecated
-       add("horizon_angle", &Loader::horizon_angle);
-       add("light", &Loader::light_inline_index);
-       add("sky_color", &Loader::sky_color);
-       add("zenith_direction", &Loader::zenith_direction);
 }
 
 void Lighting::Loader::ambient(float r, float g, float b)
@@ -177,14 +124,6 @@ void Lighting::Loader::fog_half_distance(float d)
        obj.set_fog_half_distance(d);
 }
 
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-void Lighting::Loader::horizon_angle(float a)
-{
-       obj.set_horizon_angle(Geometry::Angle<float>::from_degrees(a));
-}
-#pragma GCC diagnostic pop
-
 void Lighting::Loader::light(const string &name)
 {
        obj.attach(get_collection().get<Light>(name));
@@ -198,23 +137,5 @@ void Lighting::Loader::light_inline()
        obj.attach(*lgt.release());
 }
 
-void Lighting::Loader::light_inline_index(unsigned)
-{
-       light_inline();
-}
-
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-void Lighting::Loader::sky_color(float r, float g, float b)
-{
-       obj.set_sky_color(Color(r, g, b));
-}
-
-void Lighting::Loader::zenith_direction(float x, float y, float z)
-{
-       obj.set_zenith_direction(Vector3(x, y, z));
-}
-#pragma GCC diagnostic pop
-
 } // namespace GL
 } // namespace Msp
index 92a4bcf8d9478a93074bd318f03c1ad77e905a91..d4e6b5942cc09d660857d661b2b8bb700e4d71e4 100644 (file)
@@ -34,12 +34,8 @@ public:
                void fog_color(float, float, float);
                void fog_density(float);
                void fog_half_distance(float);
-               void horizon_angle(float);
                void light(const std::string &);
                void light_inline();
-               void light_inline_index(unsigned);
-               void sky_color(float, float, float);
-               void zenith_direction(float, float, float);
        };
 
 private:
@@ -52,9 +48,6 @@ private:
        };
 
        Color ambient;
-       Color sky_color;
-       Vector3 zenith_direction;
-       Geometry::Angle<float> horizon_angle;
        Color fog_color;
        float fog_density;
        std::vector<AttachedLight> lights;
@@ -68,17 +61,6 @@ public:
 
        const Color &get_ambient() const { return ambient; }
 
-       /** Sets the color of the sky at zenith.  Has no effect without shaders. */
-       DEPRECATED void set_sky_color(const Color &);
-
-       /** Sets the direction of the zenith.  Defaults to positive Z axis.  Has no
-       effect without shaders. */
-       DEPRECATED void set_zenith_direction(const Vector3 &);
-
-       /** Sets the angle where skylight cuts off, counted from the true horizon.
-       Has no effect without shaders. */
-       DEPRECATED void set_horizon_angle(const Geometry::Angle<float> &);
-
        /** Sets the fog color, which is blended into distant surfaces. */
        void set_fog_color(const Color &);
 
@@ -96,17 +78,6 @@ public:
        /** Detaches a light source.  If the light was not attached, does nothing. */
        void detach(const Light &);
 
-       DEPRECATED void attach(unsigned, const Light &l) { attach(l); }
-       DEPRECATED void detach(unsigned);
-
-       /** Returns an attached light.  If no light is attached at that index, null
-       is returned. */
-       DEPRECATED const Light *get_attached_light(unsigned) const;
-
-       /** Updates a ProgramData object with the uniforms for the Lighting,
-       including all attached light sources.  A view matrix must be passed in. */
-       DEPRECATED void update_shader_data(ProgramData &, const Matrix &) const;
-
        const ProgramData &get_shader_data() const;
 
        void set_debug_name(const std::string &);
index 499a521f1dc8ff17fb3270cfedfd4a370e90c62a..a055f4786bfed69a39c871087d31b47a123c6f1c 100644 (file)
@@ -1,6 +1,5 @@
 #include <msp/core/algorithm.h>
 #include <msp/datafile/collection.h>
-#include <msp/io/print.h>
 #include <msp/strings/format.h>
 #include "error.h"
 #include "renderpass.h"
@@ -163,17 +162,6 @@ void RenderPass::Loader::finish()
                obj.maybe_create_material_shader();
 }
 
-// Temporary compatibility feature
-string RenderPass::Loader::get_shader_name(const string &n)
-{
-       if(n.size()>=5 && !n.compare(n.size()-5, 5, ".glsl"))
-       {
-               IO::print(IO::cerr, "Warning: Loading module '%s' as shader is deprecated\n", n);
-               return n+".shader";
-       }
-       return n;
-}
-
 void RenderPass::Loader::material_inline()
 {
        Material::GenericLoader ldr(coll);
@@ -192,7 +180,7 @@ void RenderPass::Loader::material(const string &name)
 
 void RenderPass::Loader::shader(const string &n)
 {
-       obj.shprog = &get_collection().get<Program>(get_shader_name(n));
+       obj.shprog = &get_collection().get<Program>(n);
        obj.shprog_from_material = false;
        if(obj.shdata)
                obj.shdata = new ProgramData(*obj.shdata, obj.shprog);
index c810e2c7260512cdadcce4612575b832e32458c8..ae9e34b8e76c70228b0caf0fe3ef0085f5bad944 100644 (file)
@@ -41,8 +41,6 @@ public:
        private:
                virtual void finish();
 
-               static std::string get_shader_name(const std::string &);
-
                void material_inline();
                void material(const std::string &);
                void shader(const std::string &);
index 21cb3a3211b24c6607c9a08ffc35d7a765322f18..122eaf73d412f8f91f5c6fbf3690d6240cfea057 100644 (file)
@@ -92,14 +92,6 @@ bool Technique::replace_uniforms(const ProgramData &shdata)
        return replaced;
 }
 
-bool Technique::has_shaders() const
-{
-       for(const auto &kvp: passes)
-               if(kvp.second.get_shader_program())
-                       return true;
-       return false;
-}
-
 void Technique::set_debug_name(const string &name)
 {
 #ifdef DEBUG
index 419c676570a653b41549b65b8467d1fa84a1ad58..c2b69bf7bc48625b4eae4e5526aab001731c19cb 100644 (file)
@@ -61,7 +61,6 @@ public:
        bool replace_texture(const std::string &, const Texture &);
        bool replace_material(const std::string &, const Material &);
        bool replace_uniforms(const ProgramData &);
-       DEPRECATED bool has_shaders() const;
 
        void set_debug_name(const std::string &);
 };