# Conflicts:
#	.github/workflows/qatest.yaml
#	indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml
master
Ansariel 2025-04-15 18:03:59 +02:00
commit cdf8eda7d0
8 changed files with 58 additions and 25 deletions

View File

@ -31,7 +31,7 @@ jobs:
if: >
github.event.workflow_run.conclusion == 'success' &&
(
startsWith(github.ref, 'refs/tags/Second_Life')
startsWith(github.event.workflow_run.head_branch, 'Second_Life')
)
steps:

View File

@ -117,27 +117,34 @@ uniform float exposure;
uniform float tonemap_mix;
uniform int tonemap_type;
vec3 toneMap(vec3 color)
{
#ifndef NO_POST
vec3 linear_input_color = color;
float exp_scale = texture(exposureMap, vec2(0.5,0.5)).r;
float final_exposure = exposure * exp_scale;
vec3 exposed_color = color * final_exposure;
color *= exposure * exp_scale;
vec3 clamped_color = clamp(color.rgb, vec3(0.0), vec3(1.0));
vec3 tonemapped_color = exposed_color;
switch(tonemap_type)
{
case 0:
color = PBRNeutralToneMapping(color);
tonemapped_color = PBRNeutralToneMapping(exposed_color);
break;
case 1:
color = toneMapACES_Hill(color);
tonemapped_color = toneMapACES_Hill(exposed_color);
break;
}
// mix tonemapped and linear here to provide adjustment
color = mix(clamped_color, color, tonemap_mix);
vec3 exposed_linear_input = linear_input_color * final_exposure;
color = mix(exposed_linear_input, tonemapped_color, tonemap_mix);
color = clamp(color, 0.0, 1.0);
#else
color *= exposure * texture(exposureMap, vec2(0.5,0.5)).r;
color = clamp(color, 0.0, 1.0);
#endif
return color;
@ -147,20 +154,24 @@ vec3 toneMap(vec3 color)
vec3 toneMapNoExposure(vec3 color)
{
#ifndef NO_POST
vec3 clamped_color = clamp(color.rgb, vec3(0.0), vec3(1.0));
vec3 linear_input_color = color;
vec3 tonemapped_color = color;
switch(tonemap_type)
{
case 0:
color = PBRNeutralToneMapping(color);
tonemapped_color = PBRNeutralToneMapping(color);
break;
case 1:
color = toneMapACES_Hill(color);
tonemapped_color = toneMapACES_Hill(color);
break;
}
// mix tonemapped and linear here to provide adjustment
color = mix(clamped_color, color, tonemap_mix);
color = mix(linear_input_color, tonemapped_color, tonemap_mix);
color = clamp(color, 0.0, 1.0);
#else
color = clamp(color, 0.0, 1.0);
#endif
return color;

View File

@ -455,9 +455,29 @@ void LLFloaterEnvironmentAdjust::onMoonAzimElevChanged()
void LLFloaterEnvironmentAdjust::onCloudMapChanged()
{
if (!mLiveSky)
{
return;
mLiveSky->setCloudNoiseTextureId(getChild<LLTextureCtrl>(FIELD_SKY_CLOUD_MAP)->getValue().asUUID());
mLiveSky->update();
}
LLTextureCtrl* picker_ctrl = getChild<LLTextureCtrl>(FIELD_SKY_CLOUD_MAP);
LLUUID new_texture_id = picker_ctrl->getValue().asUUID();
LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL);
LLSettingsSky::ptr_t sky_to_set = mLiveSky->buildClone();
if (!sky_to_set)
{
return;
}
sky_to_set->setCloudNoiseTextureId(new_texture_id);
LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, sky_to_set);
LLEnvironment::instance().updateEnvironment(LLEnvironment::TRANSITION_INSTANT, true);
picker_ctrl->setValue(new_texture_id);
}
void LLFloaterEnvironmentAdjust::onWaterMapChanged()

View File

@ -3752,7 +3752,7 @@ void LLPanelFace::onCommitRepeatsPerMeter()
bool identical_scale_t = false;
LLSelectedTE::getObjectScaleS(obj_scale_s, identical_scale_s);
LLSelectedTE::getObjectScaleS(obj_scale_t, identical_scale_t);
LLSelectedTE::getObjectScaleT(obj_scale_t, identical_scale_t);
if (gSavedSettings.getBOOL("SyncMaterialSettings"))
{
@ -5284,6 +5284,7 @@ void LLPanelFace::LLSelectedTEMaterial::getMaxSpecularRepeats(F32& repeats, bool
LLMaterial* mat = object->getTEref(face).getMaterialParams().get();
U32 s_axis = VX;
U32 t_axis = VY;
LLPrimitive::getTESTAxes(face, &s_axis, &t_axis);
F32 repeats_s = 1.0f;
F32 repeats_t = 1.0f;
if (mat)
@ -5308,6 +5309,7 @@ void LLPanelFace::LLSelectedTEMaterial::getMaxNormalRepeats(F32& repeats, bool&
LLMaterial* mat = object->getTEref(face).getMaterialParams().get();
U32 s_axis = VX;
U32 t_axis = VY;
LLPrimitive::getTESTAxes(face, &s_axis, &t_axis);
F32 repeats_s = 1.0f;
F32 repeats_t = 1.0f;
if (mat)

View File

@ -131,7 +131,7 @@
#include "SMAAAreaTex.h"
#include "SMAASearchTex.h"
#include "llerror.h"
#ifndef LL_WINDOWS
#define A_GCC 1
#pragma GCC diagnostic ignored "-Wunused-function"
@ -1425,8 +1425,11 @@ void LLPipeline::createGLBuffers()
}
allocateScreenBuffer(resX, resY);
mRT->width = 0;
mRT->height = 0;
// Do not zero out mRT dimensions here. allocateScreenBuffer() above
// already sets the correct dimensions. Zeroing them caused resizeShadowTexture()
// to fail if called immediately after createGLBuffers (e.g., post graphics change).
// mRT->width = 0;
// mRT->height = 0;
if (!mNoiseMap)

View File

@ -119,7 +119,7 @@
max_val_x="30"
min_val_y="-30"
max_val_y="30"
logarithmic="1"/>
logarithmic="true"/>
<text
name="cloud_image_label"
follows="left|top"

View File

@ -3,7 +3,6 @@
name="virtualtrackball"
width="150"
height="150"
user_resize="false"
increment_angle_mouse="1.5f"
increment_angle_btn="1.0f"
image_sphere="VirtualTrackball_Sphere"

View File

@ -3,11 +3,9 @@
name="xyvector"
width="120"
height="140"
decimal_digits="1"
label_width="16"
padding="4"
edit_bar_height="18"
user_resize="false">
edit_bar_height="18">
<xy_vector.border
visible="true"/>