diff --git a/src/client/clientlauncher.cpp b/src/client/clientlauncher.cpp index 725ff4323..dc6a91831 100644 --- a/src/client/clientlauncher.cpp +++ b/src/client/clientlauncher.cpp @@ -126,7 +126,7 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) // This is only global so it can be used by RenderingEngine::draw_load_screen(). assert(!g_menucloudsmgr && !g_menuclouds); std::unique_ptr ssrc(createShaderSource()); - ssrc->addShaderConstantSetterFactory(new FogShaderConstantSetterFactory()); + ssrc->addShaderUniformSetterFactory(new FogShaderUniformSetterFactory()); g_menucloudsmgr = m_rendering_engine->get_scene_manager()->createNewSceneManager(); g_menuclouds = new Clouds(g_menucloudsmgr, ssrc.get(), -1, rand()); g_menuclouds->setHeight(100.0f); diff --git a/src/client/game.cpp b/src/client/game.cpp index 78d009c7e..61d067ef3 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -188,7 +188,7 @@ public: typedef s32 SamplerLayer_t; -class GameGlobalShaderConstantSetter : public IShaderConstantSetter +class GameGlobalShaderUniformSetter : public IShaderUniformSetter { Sky *m_sky; Client *m_client; @@ -247,12 +247,12 @@ public: static void settingsCallback(const std::string &name, void *userdata) { - reinterpret_cast(userdata)->onSettingsChange(name); + reinterpret_cast(userdata)->onSettingsChange(name); } void setSky(Sky *sky) { m_sky = sky; } - GameGlobalShaderConstantSetter(Sky *sky, Client *client) : + GameGlobalShaderUniformSetter(Sky *sky, Client *client) : m_sky(sky), m_client(client) { @@ -264,12 +264,12 @@ public: m_volumetric_light_enabled = g_settings->getBool("enable_volumetric_lighting") && m_bloom_enabled; } - ~GameGlobalShaderConstantSetter() + ~GameGlobalShaderUniformSetter() { g_settings->deregisterAllChangedCallbacks(this); } - void onSetConstants(video::IMaterialRendererServices *services) override + void onSetUniforms(video::IMaterialRendererServices *services) override { u32 daynight_ratio = (float)m_client->getEnv().getDayNightRatio(); video::SColorf sunlight; @@ -395,28 +395,28 @@ public: }; -class GameGlobalShaderConstantSetterFactory : public IShaderConstantSetterFactory +class GameGlobalShaderUniformSetterFactory : public IShaderUniformSetterFactory { Sky *m_sky = nullptr; Client *m_client; - std::vector created_nosky; + std::vector created_nosky; public: - GameGlobalShaderConstantSetterFactory(Client *client) : + GameGlobalShaderUniformSetterFactory(Client *client) : m_client(client) {} void setSky(Sky *sky) { m_sky = sky; - for (GameGlobalShaderConstantSetter *ggscs : created_nosky) { + for (GameGlobalShaderUniformSetter *ggscs : created_nosky) { ggscs->setSky(m_sky); } created_nosky.clear(); } - virtual IShaderConstantSetter* create() + virtual IShaderUniformSetter* create() { - auto *scs = new GameGlobalShaderConstantSetter(m_sky, m_client); + auto *scs = new GameGlobalShaderUniformSetter(m_sky, m_client); if (!m_sky) created_nosky.push_back(scs); return scs; @@ -1289,11 +1289,11 @@ bool Game::createClient(const GameStartData &start_data) return false; } - auto *scsf = new GameGlobalShaderConstantSetterFactory(client); - shader_src->addShaderConstantSetterFactory(scsf); + auto *scsf = new GameGlobalShaderUniformSetterFactory(client); + shader_src->addShaderUniformSetterFactory(scsf); - shader_src->addShaderConstantSetterFactory( - new FogShaderConstantSetterFactory()); + shader_src->addShaderUniformSetterFactory( + new FogShaderUniformSetterFactory()); ShadowRenderer::preInit(shader_src); diff --git a/src/client/renderingengine.cpp b/src/client/renderingengine.cpp index 643898eac..3b3d114ea 100644 --- a/src/client/renderingengine.cpp +++ b/src/client/renderingengine.cpp @@ -67,14 +67,14 @@ void FpsControl::limit(IrrlichtDevice *device, f32 *dtime) last_time = time; } -class FogShaderConstantSetter : public IShaderConstantSetter +class FogShaderUniformSetter : public IShaderUniformSetter { CachedPixelShaderSetting m_fog_color{"fogColor"}; CachedPixelShaderSetting m_fog_distance{"fogDistance"}; CachedPixelShaderSetting m_fog_shading_parameter{"fogShadingParameter"}; public: - void onSetConstants(video::IMaterialRendererServices *services) override + void onSetUniforms(video::IMaterialRendererServices *services) override { auto *driver = services->getVideoDriver(); assert(driver); @@ -101,9 +101,9 @@ public: } }; -IShaderConstantSetter *FogShaderConstantSetterFactory::create() +IShaderUniformSetter *FogShaderUniformSetterFactory::create() { - return new FogShaderConstantSetter(); + return new FogShaderUniformSetter(); } /* Other helpers */ diff --git a/src/client/renderingengine.h b/src/client/renderingengine.h index d76b19abe..34918ec7a 100644 --- a/src/client/renderingengine.h +++ b/src/client/renderingengine.h @@ -54,11 +54,11 @@ struct FpsControl { }; // Populates fogColor, fogDistance, fogShadingParameter with values from Irrlicht -class FogShaderConstantSetterFactory : public IShaderConstantSetterFactory +class FogShaderUniformSetterFactory : public IShaderUniformSetterFactory { public: - FogShaderConstantSetterFactory() {}; - virtual IShaderConstantSetter *create(); + FogShaderUniformSetterFactory() {}; + virtual IShaderUniformSetter *create(); }; /* Rendering engine class */ diff --git a/src/client/shader.cpp b/src/client/shader.cpp index 3ecbb4f38..39ea7c46d 100644 --- a/src/client/shader.cpp +++ b/src/client/shader.cpp @@ -159,7 +159,7 @@ private: class ShaderCallback : public video::IShaderConstantSetCallBack { - std::vector> m_setters; + std::vector> m_setters; public: template @@ -175,7 +175,7 @@ public: virtual void OnSetConstants(video::IMaterialRendererServices *services, s32 userData) override { for (auto &&setter : m_setters) - setter->onSetConstants(services); + setter->onSetUniforms(services); } virtual void OnSetMaterial(const video::SMaterial& material) override @@ -187,10 +187,10 @@ public: /* - MainShaderConstantSetter: Set basic constants required for almost everything + MainShaderUniformSetter: Set basic uniforms required for almost everything */ -class MainShaderConstantSetter : public IShaderConstantSetter +class MainShaderUniformSetter : public IShaderUniformSetter { CachedVertexShaderSetting m_world_view_proj{"mWorldViewProj"}; CachedVertexShaderSetting m_world{"mWorld"}; @@ -205,14 +205,14 @@ class MainShaderConstantSetter : public IShaderConstantSetter CachedPixelShaderSetting m_material_color_setting{"materialColor"}; public: - ~MainShaderConstantSetter() = default; + ~MainShaderUniformSetter() = default; virtual void onSetMaterial(const video::SMaterial& material) override { m_material_color = material.ColorParam; } - virtual void onSetConstants(video::IMaterialRendererServices *services) override + virtual void onSetUniforms(video::IMaterialRendererServices *services) override { video::IVideoDriver *driver = services->getVideoDriver(); assert(driver); @@ -243,11 +243,11 @@ public: }; -class MainShaderConstantSetterFactory : public IShaderConstantSetterFactory +class MainShaderUniformSetterFactory : public IShaderUniformSetterFactory { public: - virtual IShaderConstantSetter* create() - { return new MainShaderConstantSetter(); } + virtual IShaderUniformSetter* create() + { return new MainShaderUniformSetter(); } }; @@ -306,9 +306,9 @@ public: // Shall be called from the main thread. void rebuildShaders() override; - void addShaderConstantSetterFactory(IShaderConstantSetterFactory *setter) override + void addShaderUniformSetterFactory(IShaderUniformSetterFactory *setter) override { - m_setter_factories.emplace_back(setter); + m_uniform_factories.emplace_back(setter); } private: @@ -331,8 +331,8 @@ private: RequestQueue m_get_shader_queue; #endif - // Global constant setter factories - std::vector> m_setter_factories; + // Global uniform setter factories + std::vector> m_uniform_factories; // Generate shader given the shader name. ShaderInfo generateShader(const std::string &name, @@ -352,7 +352,7 @@ ShaderSource::ShaderSource() m_shaderinfo_cache.emplace_back(); // Add main global constant setter - addShaderConstantSetterFactory(new MainShaderConstantSetterFactory()); + addShaderUniformSetterFactory(new MainShaderUniformSetterFactory()); } ShaderSource::~ShaderSource() @@ -773,7 +773,7 @@ ShaderInfo ShaderSource::generateShader(const std::string &name, geometry_shader_ptr = geometry_shader.c_str(); } - auto cb = make_irr(m_setter_factories); + auto cb = make_irr(m_uniform_factories); infostream << "Compiling high level shaders for " << log_name << std::endl; s32 shadermat = gpu->addHighLevelShaderMaterial( vertex_shader.c_str(), fragment_shader.c_str(), geometry_shader_ptr, diff --git a/src/client/shader.h b/src/client/shader.h index c78b0078a..731cd4b21 100644 --- a/src/client/shader.h +++ b/src/client/shader.h @@ -40,7 +40,7 @@ struct ShaderInfo { }; /* - Setter of constants for shaders + Abstraction for updating uniforms used by shaders */ namespace irr::video { @@ -48,19 +48,19 @@ namespace irr::video { } -class IShaderConstantSetter { +class IShaderUniformSetter { public: - virtual ~IShaderConstantSetter() = default; - virtual void onSetConstants(video::IMaterialRendererServices *services) = 0; + virtual ~IShaderUniformSetter() = default; + virtual void onSetUniforms(video::IMaterialRendererServices *services) = 0; virtual void onSetMaterial(const video::SMaterial& material) { } }; -class IShaderConstantSetterFactory { +class IShaderUniformSetterFactory { public: - virtual ~IShaderConstantSetterFactory() = default; - virtual IShaderConstantSetter* create() = 0; + virtual ~IShaderUniformSetterFactory() = default; + virtual IShaderUniformSetter* create() = 0; }; @@ -236,7 +236,7 @@ public: virtual void rebuildShaders()=0; /// @note Takes ownership of @p setter. - virtual void addShaderConstantSetterFactory(IShaderConstantSetterFactory *setter) = 0; + virtual void addShaderUniformSetterFactory(IShaderUniformSetterFactory *setter) = 0; }; IWritableShaderSource *createShaderSource(); diff --git a/src/client/shadows/dynamicshadowsrender.cpp b/src/client/shadows/dynamicshadowsrender.cpp index 70bc2d2cf..1297bf175 100644 --- a/src/client/shadows/dynamicshadowsrender.cpp +++ b/src/client/shadows/dynamicshadowsrender.cpp @@ -107,7 +107,7 @@ void ShadowRenderer::disable() void ShadowRenderer::preInit(IWritableShaderSource *shsrc) { if (g_settings->getBool("enable_dynamic_shadows")) { - shsrc->addShaderConstantSetterFactory(new ShadowConstantSetterFactory()); + shsrc->addShaderUniformSetterFactory(new ShadowUniformSetterFactory()); } } diff --git a/src/client/shadows/shadowsshadercallbacks.cpp b/src/client/shadows/shadowsshadercallbacks.cpp index f662d21e7..add5f8a09 100644 --- a/src/client/shadows/shadowsshadercallbacks.cpp +++ b/src/client/shadows/shadowsshadercallbacks.cpp @@ -5,7 +5,7 @@ #include "client/shadows/shadowsshadercallbacks.h" #include "client/renderingengine.h" -void ShadowConstantSetter::onSetConstants(video::IMaterialRendererServices *services) +void ShadowUniformSetter::onSetUniforms(video::IMaterialRendererServices *services) { auto *shadow = RenderingEngine::get_shadow_renderer(); if (!shadow) diff --git a/src/client/shadows/shadowsshadercallbacks.h b/src/client/shadows/shadowsshadercallbacks.h index 4fc462b11..cd1ff3916 100644 --- a/src/client/shadows/shadowsshadercallbacks.h +++ b/src/client/shadows/shadowsshadercallbacks.h @@ -9,7 +9,7 @@ // Used by main game rendering -class ShadowConstantSetter : public IShaderConstantSetter +class ShadowUniformSetter : public IShaderUniformSetter { CachedPixelShaderSetting m_shadow_view_proj{"m_ShadowViewProj"}; CachedPixelShaderSetting m_light_direction{"v_LightDirection"}; @@ -33,17 +33,17 @@ class ShadowConstantSetter : public IShaderConstantSetter CachedPixelShaderSetting m_perspective_zbias_pixel{"zPerspectiveBias"}; public: - ShadowConstantSetter() = default; - ~ShadowConstantSetter() = default; + ShadowUniformSetter() = default; + ~ShadowUniformSetter() = default; - virtual void onSetConstants(video::IMaterialRendererServices *services) override; + virtual void onSetUniforms(video::IMaterialRendererServices *services) override; }; -class ShadowConstantSetterFactory : public IShaderConstantSetterFactory +class ShadowUniformSetterFactory : public IShaderUniformSetterFactory { public: - virtual IShaderConstantSetter *create() { - return new ShadowConstantSetter(); + virtual IShaderUniformSetter *create() { + return new ShadowUniformSetter(); } };