new toggle to disable directional lightning

This commit is contained in:
T1ti
2024-07-23 23:46:37 +02:00
parent 4853c8aa37
commit fa74a34188
5 changed files with 58 additions and 4 deletions

View File

@@ -1302,7 +1302,12 @@ void WorldRender::updateLightingUniformBlock(bool draw_fog, glm::vec3 const& cam
_lighting_ubo_data.DiffuseColor_FogStart = {diffuse.x,diffuse.y,diffuse.z, _skies->fog_distance_start()};
_lighting_ubo_data.AmbientColor_FogEnd = {ambient.x,ambient.y,ambient.z, _skies->fog_distance_end()};
_lighting_ubo_data.FogColor_FogOn = {fog_color.x,fog_color.y,fog_color.z, static_cast<float>(draw_fog)};
_lighting_ubo_data.LightDir_FogRate = {_outdoor_light_stats.dayDir.x, _outdoor_light_stats.dayDir.y, _outdoor_light_stats.dayDir.z, _skies->fogRate()};
if (_world->_settings->value("directional_lightning", true).toBool())
_lighting_ubo_data.LightDir_FogRate = { _outdoor_light_stats.dayDir.x, _outdoor_light_stats.dayDir.y, _outdoor_light_stats.dayDir.z, _skies->fogRate() };
else
_lighting_ubo_data.LightDir_FogRate = {0.0f, -1.0f, 0.0f, _skies->fogRate()};
_lighting_ubo_data.OceanColorLight = { ocean_color_light.x,ocean_color_light.y,ocean_color_light.z, _skies->ocean_shallow_alpha()};
_lighting_ubo_data.OceanColorDark = { ocean_color_dark.x,ocean_color_dark.y,ocean_color_dark.z, _skies->ocean_deep_alpha()};
_lighting_ubo_data.RiverColorLight = { river_color_light.x,river_color_light.y,river_color_light.z, _skies->river_shallow_alpha()};

View File

@@ -240,10 +240,10 @@ void main()
// calc world lighting
vec3 currColor;
vec3 lDiffuse = vec3(0.0, 0.0, 0.0);
vec3 accumlatedLight = vec3(1.0, 1.0, 1.0);
// vec3 accumlatedLight = vec3(1.0, 1.0, 1.0);
vec3 normalized_normal = normalize(vary_normal);
float nDotL = clamp(dot(normalized_normal, -normalize(LightDir_FogRate.xyz)), 0.0, 1.0);
float nDotL = clamp(dot(normalized_normal, -normalize(LightDir_FogRate.xyz)), 0.0, 1.0); // default LightDir = -0.6
vec3 skyColor = (AmbientColor_FogEnd.xyz * 1.10000002);
vec3 groundColor = (AmbientColor_FogEnd.xyz * 0.699999988);

View File

@@ -53,7 +53,7 @@ struct MinimapRenderSettings
QListWidget* wmo_model_filter_exclude;
QListWidget* wmo_instance_filter_exclude;
// Lighting
// Lighting. Based on default eastern kingdom global light settings (lightparams 12)
glm::vec3 diffuse_color = {1.0, 0.532352924, 0.0};
glm::vec3 ambient_color = {0.407770514, 0.508424163, 0.602650642};
glm::vec4 ocean_color_light = {0.0693173409, 0.294008732, 0.348329663, 0.75};

View File

@@ -190,6 +190,7 @@ namespace Noggit
ui->_anti_aliasing_cb->setChecked(_settings->value("anti_aliasing", false).toBool());
ui->_fullscreen_cb->setChecked(_settings->value("fullscreen", false).toBool());
ui->_background_fps_limit_cb->setChecked(_settings->value("background_fps_limit", true).toBool());
ui->_directional_light_cb->setChecked(_settings->value("directional_lightning", true).toBool());
ui->_adt_unload_dist->setValue(_settings->value("unload_dist", 5).toInt());
ui->_adt_unload_check_interval->setValue(_settings->value("unload_interval", 5).toInt());
ui->_uid_cb->setChecked(_settings->value("uid_startup_check", true).toBool());
@@ -275,6 +276,7 @@ namespace Noggit
_settings->setValue("anti_aliasing", ui->_anti_aliasing_cb->isChecked());
_settings->setValue("fullscreen", ui->_fullscreen_cb->isChecked());
_settings->setValue("background_fps_limit", ui->_background_fps_limit_cb->isChecked());
_settings->setValue("directional_lightning", ui->_directional_light_cb->isChecked());
_settings->setValue("unload_dist", ui->_adt_unload_dist->value());
_settings->setValue("unload_interval", ui->_adt_unload_check_interval->value());
_settings->setValue("uid_startup_check", ui->_uid_cb->isChecked());

View File

@@ -270,6 +270,40 @@
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_13">
<item>
<widget class="QLabel" name="label_14">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Makes lightning more accurate but worse for editing.&lt;/p&gt;&lt;p&gt;When disabled, lightning always comes from above.&lt;/p&gt;&lt;p&gt;When enabled, lightning comes from north west and moves with time of the day.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Directional Lightning</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_25">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="_directional_light_cb">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
@@ -413,6 +447,19 @@
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>