From 345e93d19cf539d7d9f324370c859e2d5a9089ab Mon Sep 17 00:00:00 2001 From: HybridDog Date: Sun, 7 Jan 2024 18:54:31 +0100 Subject: [PATCH] Code style: Use non-static member initialisation instead of member initialiser lists for shader uniform names Before this change, the member type and member name are at one place, and the member name and uniform name are at another place. If the uniform name is written directly at the member declaration, the member type, member name and uniform name are all at one place, which leads to shorter code and may be easier to read. --- src/client/clientenvironment.cpp | 7 +- src/client/game.cpp | 108 ++++++++------------ src/client/shader.cpp | 61 +++++------ src/client/shadows/shadowsScreenQuad.h | 14 +-- src/client/shadows/shadowsshadercallbacks.h | 28 ++--- 5 files changed, 82 insertions(+), 136 deletions(-) diff --git a/src/client/clientenvironment.cpp b/src/client/clientenvironment.cpp index 66242aa4f..54baf30a1 100644 --- a/src/client/clientenvironment.cpp +++ b/src/client/clientenvironment.cpp @@ -47,10 +47,6 @@ with this program; if not, write to the Free Software Foundation, Inc., class CAOShaderConstantSetter : public IShaderConstantSetter { public: - CAOShaderConstantSetter(): - m_emissive_color_setting("emissiveColor") - {} - ~CAOShaderConstantSetter() override = default; void onSetConstants(video::IMaterialRendererServices *services) override @@ -74,7 +70,8 @@ public: private: video::SColor m_emissive_color; - CachedPixelShaderSetting m_emissive_color_setting; + CachedPixelShaderSetting + m_emissive_color_setting{"emissiveColor"}; }; class CAOShaderConstantSetterFactory : public IShaderConstantSetterFactory diff --git a/src/client/game.cpp b/src/client/game.cpp index e04ec1674..0e9516dcb 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -373,43 +373,55 @@ class GameGlobalShaderConstantSetter : public IShaderConstantSetter bool *m_force_fog_off; f32 *m_fog_range; bool m_fog_enabled; - CachedPixelShaderSetting m_sky_bg_color; - CachedPixelShaderSetting m_fog_distance; - CachedPixelShaderSetting m_fog_shading_parameter; - CachedVertexShaderSetting m_animation_timer_vertex; - CachedPixelShaderSetting m_animation_timer_pixel; - CachedVertexShaderSetting m_animation_timer_delta_vertex; - CachedPixelShaderSetting m_animation_timer_delta_pixel; - CachedPixelShaderSetting m_day_light; - CachedPixelShaderSetting m_star_color; - CachedPixelShaderSetting m_eye_position_pixel; - CachedVertexShaderSetting m_eye_position_vertex; - CachedPixelShaderSetting m_minimap_yaw; - CachedPixelShaderSetting m_camera_offset_pixel; - CachedPixelShaderSetting m_camera_offset_vertex; - CachedPixelShaderSetting m_texture0; - CachedPixelShaderSetting m_texture1; - CachedPixelShaderSetting m_texture2; - CachedPixelShaderSetting m_texture3; - CachedVertexShaderSetting m_texel_size0_vertex; - CachedPixelShaderSetting m_texel_size0_pixel; + CachedPixelShaderSetting m_sky_bg_color{"skyBgColor"}; + CachedPixelShaderSetting m_fog_distance{"fogDistance"}; + CachedPixelShaderSetting + m_fog_shading_parameter{"fogShadingParameter"}; + CachedVertexShaderSetting m_animation_timer_vertex{"animationTimer"}; + CachedPixelShaderSetting m_animation_timer_pixel{"animationTimer"}; + CachedVertexShaderSetting + m_animation_timer_delta_vertex{"animationTimerDelta"}; + CachedPixelShaderSetting + m_animation_timer_delta_pixel{"animationTimerDelta"}; + CachedPixelShaderSetting m_day_light{"dayLight"}; + CachedPixelShaderSetting m_star_color{"starColor"}; + CachedPixelShaderSetting m_eye_position_pixel{"eyePosition"}; + CachedVertexShaderSetting m_eye_position_vertex{"eyePosition"}; + CachedPixelShaderSetting m_minimap_yaw{"yawVec"}; + CachedPixelShaderSetting m_camera_offset_pixel{"cameraOffset"}; + CachedPixelShaderSetting m_camera_offset_vertex{"cameraOffset"}; + CachedPixelShaderSetting m_texture0{"texture0"}; + CachedPixelShaderSetting m_texture1{"texture1"}; + CachedPixelShaderSetting m_texture2{"texture2"}; + CachedPixelShaderSetting m_texture3{"texture3"}; + CachedVertexShaderSetting m_texel_size0_vertex{"texelSize0"}; + CachedPixelShaderSetting m_texel_size0_pixel{"texelSize0"}; std::array m_texel_size0_values; - CachedStructPixelShaderSetting m_exposure_params_pixel; + CachedStructPixelShaderSetting m_exposure_params_pixel{ + "exposureParams", + std::array { + "luminanceMin", "luminanceMax", "exposureCorrection", + "speedDarkBright", "speedBrightDark", "centerWeightPower", + "compensationFactor" + }}; float m_user_exposure_compensation; bool m_bloom_enabled; - CachedPixelShaderSetting m_bloom_intensity_pixel; + CachedPixelShaderSetting m_bloom_intensity_pixel{"bloomIntensity"}; float m_bloom_intensity; - CachedPixelShaderSetting m_bloom_strength_pixel; + CachedPixelShaderSetting m_bloom_strength_pixel{"bloomStrength"}; float m_bloom_strength; - CachedPixelShaderSetting m_bloom_radius_pixel; + CachedPixelShaderSetting m_bloom_radius_pixel{"bloomRadius"}; float m_bloom_radius; - CachedPixelShaderSetting m_saturation_pixel; + CachedPixelShaderSetting m_saturation_pixel{"saturation"}; bool m_volumetric_light_enabled; - CachedPixelShaderSetting m_sun_position_pixel; - CachedPixelShaderSetting m_sun_brightness_pixel; - CachedPixelShaderSetting m_moon_position_pixel; - CachedPixelShaderSetting m_moon_brightness_pixel; - CachedPixelShaderSetting m_volumetric_light_strength_pixel; + CachedPixelShaderSetting + m_sun_position_pixel{"sunPositionScreen"}; + CachedPixelShaderSetting m_sun_brightness_pixel{"sunBrightness"}; + CachedPixelShaderSetting + m_moon_position_pixel{"moonPositionScreen"}; + CachedPixelShaderSetting m_moon_brightness_pixel{"moonBrightness"}; + CachedPixelShaderSetting + m_volumetric_light_strength_pixel{"volumetricLightStrength"}; public: void onSettingsChange(const std::string &name) @@ -438,41 +450,7 @@ public: m_sky(sky), m_client(client), m_force_fog_off(force_fog_off), - m_fog_range(fog_range), - m_sky_bg_color("skyBgColor"), - m_fog_distance("fogDistance"), - m_fog_shading_parameter("fogShadingParameter"), - m_animation_timer_vertex("animationTimer"), - m_animation_timer_pixel("animationTimer"), - m_animation_timer_delta_vertex("animationTimerDelta"), - m_animation_timer_delta_pixel("animationTimerDelta"), - m_day_light("dayLight"), - m_star_color("starColor"), - m_eye_position_pixel("eyePosition"), - m_eye_position_vertex("eyePosition"), - m_minimap_yaw("yawVec"), - m_camera_offset_pixel("cameraOffset"), - m_camera_offset_vertex("cameraOffset"), - m_texture0("texture0"), - m_texture1("texture1"), - m_texture2("texture2"), - m_texture3("texture3"), - m_texel_size0_vertex("texelSize0"), - m_texel_size0_pixel("texelSize0"), - m_exposure_params_pixel("exposureParams", - std::array { - "luminanceMin", "luminanceMax", "exposureCorrection", - "speedDarkBright", "speedBrightDark", "centerWeightPower", "compensationFactor" - }), - m_bloom_intensity_pixel("bloomIntensity"), - m_bloom_strength_pixel("bloomStrength"), - m_bloom_radius_pixel("bloomRadius"), - m_saturation_pixel("saturation"), - m_sun_position_pixel("sunPositionScreen"), - m_sun_brightness_pixel("sunBrightness"), - m_moon_position_pixel("moonPositionScreen"), - m_moon_brightness_pixel("moonBrightness"), - m_volumetric_light_strength_pixel("volumetricLightStrength") + m_fog_range(fog_range) { g_settings->registerChangedCallback("enable_fog", settingsCallback, this); g_settings->registerChangedCallback("exposure_compensation", settingsCallback, this); diff --git a/src/client/shader.cpp b/src/client/shader.cpp index 9d074e886..ea13e9d6b 100644 --- a/src/client/shader.cpp +++ b/src/client/shader.cpp @@ -210,51 +210,36 @@ public: class MainShaderConstantSetter : public IShaderConstantSetter { - CachedVertexShaderSetting m_world_view_proj; - CachedVertexShaderSetting m_world; + CachedVertexShaderSetting m_world_view_proj{"mWorldViewProj"}; + CachedVertexShaderSetting m_world{"mWorld"}; // Shadow-related - CachedPixelShaderSetting m_shadow_view_proj; - CachedPixelShaderSetting m_light_direction; - CachedPixelShaderSetting m_texture_res; - CachedPixelShaderSetting m_shadow_strength; - CachedPixelShaderSetting m_time_of_day; - CachedPixelShaderSetting m_shadowfar; - CachedPixelShaderSetting m_camera_pos; - CachedPixelShaderSetting m_shadow_texture; - CachedVertexShaderSetting m_perspective_bias0_vertex; - CachedPixelShaderSetting m_perspective_bias0_pixel; - CachedVertexShaderSetting m_perspective_bias1_vertex; - CachedPixelShaderSetting m_perspective_bias1_pixel; - CachedVertexShaderSetting m_perspective_zbias_vertex; - CachedPixelShaderSetting m_perspective_zbias_pixel; + CachedPixelShaderSetting m_shadow_view_proj{"m_ShadowViewProj"}; + CachedPixelShaderSetting m_light_direction{"v_LightDirection"}; + CachedPixelShaderSetting m_texture_res{"f_textureresolution"}; + CachedPixelShaderSetting m_shadow_strength{"f_shadow_strength"}; + CachedPixelShaderSetting m_time_of_day{"f_timeofday"}; + CachedPixelShaderSetting m_shadowfar{"f_shadowfar"}; + CachedPixelShaderSetting m_camera_pos{"CameraPos"}; + CachedPixelShaderSetting m_shadow_texture{"ShadowMapSampler"}; + CachedVertexShaderSetting + m_perspective_bias0_vertex{"xyPerspectiveBias0"}; + CachedPixelShaderSetting + m_perspective_bias0_pixel{"xyPerspectiveBias0"}; + CachedVertexShaderSetting + m_perspective_bias1_vertex{"xyPerspectiveBias1"}; + CachedPixelShaderSetting + m_perspective_bias1_pixel{"xyPerspectiveBias1"}; + CachedVertexShaderSetting + m_perspective_zbias_vertex{"zPerspectiveBias"}; + CachedPixelShaderSetting m_perspective_zbias_pixel{"zPerspectiveBias"}; // Modelview matrix - CachedVertexShaderSetting m_world_view; + CachedVertexShaderSetting m_world_view{"mWorldView"}; // Texture matrix - CachedVertexShaderSetting m_texture; + CachedVertexShaderSetting m_texture{"mTexture"}; public: - MainShaderConstantSetter() : - m_world_view_proj("mWorldViewProj") - , m_world("mWorld") - , m_shadow_view_proj("m_ShadowViewProj") - , m_light_direction("v_LightDirection") - , m_texture_res("f_textureresolution") - , m_shadow_strength("f_shadow_strength") - , m_time_of_day("f_timeofday") - , m_shadowfar("f_shadowfar") - , m_camera_pos("CameraPos") - , m_shadow_texture("ShadowMapSampler") - , m_perspective_bias0_vertex("xyPerspectiveBias0") - , m_perspective_bias0_pixel("xyPerspectiveBias0") - , m_perspective_bias1_vertex("xyPerspectiveBias1") - , m_perspective_bias1_pixel("xyPerspectiveBias1") - , m_perspective_zbias_vertex("zPerspectiveBias") - , m_perspective_zbias_pixel("zPerspectiveBias") - , m_world_view("mWorldView") - , m_texture("mTexture") - {} ~MainShaderConstantSetter() = default; virtual void onSetConstants(video::IMaterialRendererServices *services) override diff --git a/src/client/shadows/shadowsScreenQuad.h b/src/client/shadows/shadowsScreenQuad.h index c18be9a2b..fe54b89c8 100644 --- a/src/client/shadows/shadowsScreenQuad.h +++ b/src/client/shadows/shadowsScreenQuad.h @@ -39,16 +39,12 @@ private: class shadowScreenQuadCB : public video::IShaderConstantSetCallBack { public: - shadowScreenQuadCB() : - m_sm_client_map_setting("ShadowMapClientMap"), - m_sm_client_map_trans_setting("ShadowMapClientMapTraslucent"), - m_sm_dynamic_sampler_setting("ShadowMapSamplerdynamic") - {} - virtual void OnSetConstants(video::IMaterialRendererServices *services, s32 userData); private: - CachedPixelShaderSetting m_sm_client_map_setting; - CachedPixelShaderSetting m_sm_client_map_trans_setting; - CachedPixelShaderSetting m_sm_dynamic_sampler_setting; + CachedPixelShaderSetting m_sm_client_map_setting{"ShadowMapClientMap"}; + CachedPixelShaderSetting + m_sm_client_map_trans_setting{"ShadowMapClientMapTraslucent"}; + CachedPixelShaderSetting + m_sm_dynamic_sampler_setting{"ShadowMapSamplerdynamic"}; }; diff --git a/src/client/shadows/shadowsshadercallbacks.h b/src/client/shadows/shadowsshadercallbacks.h index 87833c0ec..4d006fea6 100644 --- a/src/client/shadows/shadowsshadercallbacks.h +++ b/src/client/shadows/shadowsshadercallbacks.h @@ -26,17 +26,6 @@ with this program; if not, write to the Free Software Foundation, Inc., class ShadowDepthShaderCB : public video::IShaderConstantSetCallBack { public: - ShadowDepthShaderCB() : - m_light_mvp_setting("LightMVP"), - m_map_resolution_setting("MapResolution"), - m_max_far_setting("MaxFar"), - m_color_map_sampler_setting("ColorMapSampler"), - m_perspective_bias0("xyPerspectiveBias0"), - m_perspective_bias1("xyPerspectiveBias1"), - m_perspective_zbias("zPerspectiveBias"), - m_cam_pos_setting("CameraPos") - {} - void OnSetMaterial(const video::SMaterial &material) override {} void OnSetConstants(video::IMaterialRendererServices *services, @@ -47,12 +36,13 @@ public: v3f CameraPos; private: - CachedVertexShaderSetting m_light_mvp_setting; - CachedVertexShaderSetting m_map_resolution_setting; - CachedVertexShaderSetting m_max_far_setting; - CachedPixelShaderSetting m_color_map_sampler_setting; - CachedVertexShaderSetting m_perspective_bias0; - CachedVertexShaderSetting m_perspective_bias1; - CachedVertexShaderSetting m_perspective_zbias; - CachedVertexShaderSetting m_cam_pos_setting; + CachedVertexShaderSetting m_light_mvp_setting{"LightMVP"}; + CachedVertexShaderSetting m_map_resolution_setting{"MapResolution"}; + CachedVertexShaderSetting m_max_far_setting{"MaxFar"}; + CachedPixelShaderSetting + m_color_map_sampler_setting{"ColorMapSampler"}; + CachedVertexShaderSetting m_perspective_bias0{"xyPerspectiveBias0"}; + CachedVertexShaderSetting m_perspective_bias1{"xyPerspectiveBias1"}; + CachedVertexShaderSetting m_perspective_zbias{"zPerspectiveBias"}; + CachedVertexShaderSetting m_cam_pos_setting{"CameraPos"}; };