diff --git a/indra/newview/llfloaterfixedenvironment.cpp b/indra/newview/llfloaterfixedenvironment.cpp index d28c987414..a7756d61c0 100644 --- a/indra/newview/llfloaterfixedenvironment.cpp +++ b/indra/newview/llfloaterfixedenvironment.cpp @@ -419,7 +419,10 @@ bool LLFloaterFixedEnvironmentWater::postBuild() LLPanelSettingsWater * panel; panel = new LLPanelSettingsWaterMainTab; - panel->buildFromFile("panel_settings_water.xml"); + // [PhotoTools] Use FS specific panel XML for Water Settings + // panel->buildFromFile("panel_settings_water.xml"); // Original LL line - using default panel XML + panel->buildFromFile("panel_fs_settings_water.xml"); // Using FS specific panel XML + // panel->setWater(std::static_pointer_cast(mSettings)); panel->setOnDirtyFlagChanged( [this] (LLPanel *, bool value) { onPanelDirtyFlagChanged(value); }); mTab->addTabPanel(LLTabContainer::TabPanelParams().panel(panel).select_tab(true)); @@ -479,26 +482,35 @@ LLFloaterFixedEnvironmentSky::LLFloaterFixedEnvironmentSky(const LLSD &key) : LLFloaterFixedEnvironment(key) {} -bool LLFloaterFixedEnvironmentSky::postBuild() +bool LLFloaterFixedEnvironmentSky::postBuild() // <--- Corrected: Only one declaration now { if (!LLFloaterFixedEnvironment::postBuild()) return false; LLPanelSettingsSky * panel; panel = new LLPanelSettingsSkyAtmosTab; - panel->buildFromFile("panel_settings_sky_atmos.xml"); + // [PhotoTools] Use FS specific panel XML for Sky Atmosphere Settings + // panel->buildFromFile("panel_settings_sky_atmos.xml"); // Original LL line - using default panel XML + panel->buildFromFile("panel_fs_settings_sky_atmos.xml"); // Using FS specific panel XML + // panel->setSky(std::static_pointer_cast(mSettings)); panel->setOnDirtyFlagChanged([this](LLPanel *, bool value) { onPanelDirtyFlagChanged(value); }); mTab->addTabPanel(LLTabContainer::TabPanelParams().panel(panel).select_tab(true)); panel = new LLPanelSettingsSkyCloudTab; - panel->buildFromFile("panel_settings_sky_clouds.xml"); + // [PhotoTools] Use FS specific panel XML for Sky Cloud Settings + // panel->buildFromFile("panel_settings_sky_clouds.xml"); // Original LL line - using default panel XML + panel->buildFromFile("panel_fs_settings_sky_clouds.xml"); // Using FS specific panel XML + // panel->setSky(std::static_pointer_cast(mSettings)); panel->setOnDirtyFlagChanged([this](LLPanel *, bool value) { onPanelDirtyFlagChanged(value); }); mTab->addTabPanel(LLTabContainer::TabPanelParams().panel(panel).select_tab(false)); panel = new LLPanelSettingsSkySunMoonTab; - panel->buildFromFile("panel_settings_sky_sunmoon.xml"); + // [PhotoTools] Use FS specific panel XML for Sky Sun Moon Settings + // panel->buildFromFile("panel_settings_sky_sunmoon.xml"); // Original LL line - using default panel XML + panel->buildFromFile("panel_fs_settings_sky_sunmoon.xml"); // Using FS specific panel XML + // panel->setSky(std::static_pointer_cast(mSettings)); panel->setOnDirtyFlagChanged([this](LLPanel *, bool value) { onPanelDirtyFlagChanged(value); }); mTab->addTabPanel(LLTabContainer::TabPanelParams().panel(panel).select_tab(false)); diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 3041eda05a..ec7a57712c 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -435,9 +435,13 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("emoji_picker", "floater_emoji_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("emoji_complete", "floater_emoji_complete.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("env_post_process", "floater_post_process.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); - - LLFloaterReg::add("env_fixed_environmentent_water", "floater_fixedenvironment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); - LLFloaterReg::add("env_fixed_environmentent_sky", "floater_fixedenvironment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); + + // [PhotoTools] Use FS specific XML for Fixed Environment Floater + //LLFloaterReg::add("env_fixed_environmentent_water", "floater_fixedenvironment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); // Commenting out original LL line + LLFloaterReg::add("env_fixed_environmentent_water", "floater_fs_fixedenvironment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); // Using FS specific floater XML + // [PhotoTools] Use FS specific XML for Fixed Environment Floater + //LLFloaterReg::add("env_fixed_environmentent_sky", "floater_fixedenvironment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); // Commenting out original LL line + LLFloaterReg::add("env_fixed_environmentent_sky", "floater_fs_fixedenvironment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); // Using FS specific floater XML LLFloaterReg::add("env_adjust_snapshot", "floater_adjust_environment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); @@ -652,7 +656,9 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("money_tracker", "floater_fs_money_tracker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("particle_editor","floater_particle_editor.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("performance", "floater_fs_performance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); - LLFloaterReg::add(PHOTOTOOLS_FLOATER, "floater_phototools.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); + // [PhotoTools] Corrected typo in Phototools floater registration - using string literal instead of PHOTOTOOLS_FLOATER constant (likely intended). + // LLFloaterReg::add(PHOTOTOOLS_FLOATER, "floater_phototools.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); // Original line with likely typo + LLFloaterReg::add("phototools", "floater_phototools.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); // Corrected line - using string literal "phototools" LLFloaterReg::add("phototools_camera", "floater_phototools_camera.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("quickprefs", "floater_quickprefs.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("region_tracker", "floater_region_tracker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); diff --git a/indra/newview/skins/default/xui/en/floater_fs_fixedenvironment.xml b/indra/newview/skins/default/xui/en/floater_fs_fixedenvironment.xml new file mode 100644 index 0000000000..3c82db7618 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_fs_fixedenvironment.xml @@ -0,0 +1,177 @@ + + + Edit Sky: + Edit Water: + + + + Name: + + + + + + + + + + + + + + - - + + width="130"/> - @@ -454,9 +500,9 @@ name="P_W_Reflections" follows="top|left" layout="topleft" - top_pad="5" + top_pad="1" left="0" - width="285" + right="-1" height="22" bg_alpha_color="Phototools_Header" border_visible="true" @@ -466,11 +512,11 @@ name="T_W_Reflections" follows="left|top" layout="topleft" - left="10" + left="5" font="SansSerif" height="17" - width="230"> - Water Reflection Settings + width="280"> + Reflection Settings @@ -478,88 +524,362 @@ name="P_R_Res" follows="top|left" layout="topleft" - top_pad="5" - left="4" - width="275" - height="54" + top_pad="1" + left="3" + right="-5" + height="77" border_visible="true" background_visible="true"> + + + + + + + + + + + + + + - Resolution + left="5" + name="ReflectionDetailText" + text_readonly_color="LabelDisabledColor" + tool_tip="Determines the level of detail in reflections. 'Static Only' reflects non-moving objects, while higher settings include dynamic objects and real-time reflections." + top_pad="9" + width="162"> + Reflection Detail + + + + + + height="15" + layout="topleft" + left="5" + name="ReflectionProbeText" + text_readonly_color="LabelDisabledColor" + tool_tip="Controls how much of the scene is covered by reflections. 'Manual Only' reflects selected objects, while 'Full Scene' includes everything in view." + top_pad="4" + width="162"> + Reflection Coverage + + + + + + + + + Mirror Resolution + + + + + + + + + + Mirror Update Rate + + + + + + + + + Probe Resolution (Restart) + + + + - - + value="2048"/> - + + + + - + top_pad="10" + tool_tip="Controls the visibility range for reflections, affecting reflection detail and performance across reflection probes, mirrors, and screen space reflections. Higher values increase the distance at which reflections are visible, enhancing detail but increasing performance cost." + width="70"> + Reflect. Dist. + + + + + + + label="Shdw"> + width="280"> Lights and Shadows Settings @@ -581,17 +901,87 @@ name="P_L_S_Settings" follows="top|left" layout="topleft" - top_pad="5" - left="4" - width="275" - height="28" + top_pad="1" + left="3" + right="-3" + height="68" border_visible="true" background_visible="true"> + + Shadow Types + + + + + + + + Point Lighting (Restart) + + + + + + - - - Shadow Types - - - - - - - - + + + Loc Lights + + + + + top_pad="5" + tool_tip="Adjusts the quality and sharpness of shadows. Higher values produce more detailed shadows but can significantly impact performance, especially in complex scenes. For general use, keep this setting low to maintain smooth performance. When preparing for high-quality snapshots, set it around 1.0, then gradually increase while monitoring your framerate. Using the Statistics Bar (found under 'Aids' in 'Interface Aids') can help you find the optimal balance for your system. Caution: Increasing this setting too quickly or setting it too high may cause viewer instability or crashes." + width="70"> Shd. Res + name="SB_Shadow_Res" + control_name="RenderShadowResolutionScale" + follows="left|right" + height="16" + increment="0.5" + layout="topleft" + left_pad="0" + min_val="0" + max_val="5" + top_delta="-2" + width="127"> + + + increment="0.5"> + + + + Spot Offset + + + + + + tool_tip="Controls the depth bias applied to shadows to prevent self-shadowing artifacts (known as 'shadow acne'). Lower values create more accurate shadows, while slightly higher values can help reduce flickering or overlapping shadow issues. Adjusting this setting can also help correct shadows that appear to float above surfaces or do not touch the edges of objects properly. Adjust gradually to balance shadow accuracy and artifact prevention." + width="70"> Shd. Bias + width="107"/> + width="73" + increment="0.000001" + border_visible="false"/> + + Irrad. Max + + + + + + + Irrad. Scale + + + + + + tool_tip="Controls the intensity of the Ambient Occlusion (AO) darkening effect, which adds subtle shadows in creases, corners, and where objects meet to enhance depth and realism. Lower values create softer, more natural shading that blends seamlessly with the environment, resulting in a realistic look. Higher values produce stronger, more dramatic contrast, which can make the AO effect appear more pronounced but may look unnatural in some lighting conditions. Adjust this setting carefully to avoid overly dark or harsh shadows that can distort the scene's natural lighting. For creative or experimental effects, negative values can be used to invert the shading, creating unusual lighting results. This setting works best when fine-tuned alongside the 'AO Soften' control to balance sharpness and smoothness of the shadows." + width="70"> Effect @@ -1227,7 +1792,7 @@ name="S_Effect" top_delta="-3" label_width="0" - left_pad="3" + left_pad="0" decimal_digits="3" follows="top|right" max_val="100000" @@ -1245,6 +1810,7 @@ width="20" tool_tip="Reset to the default value."/> + + tool_tip="Adjusts the smoothness of the Ambient Occlusion effect, reducing harsh edges and noise. Works best when combined with 'Shd. Blur' set around 4.0 for balanced softness." + width="70"> AO Soften + label="VFX"> + width="280"> Depth of Field Settings @@ -1326,10 +1890,10 @@ name="P_DoF_Settings" follows="top|left" layout="topleft" - top_pad="5" - left="4" - width="275" - height="66" + top_pad="1" + left="3" + right="-3" + height="55" border_visible="true" background_visible="true"> + tool_tip="Enables Depth of Field (DoF), which simulates camera focus by blurring objects outside the focal plane, creating a realistic photographic effect. Turning this off can improve performance." + top_pad="5" + width="280"/> + top_pad="10" + tool_tip="Adjusts the camera's view angle, effectively zooming in or out. Functions similarly to Ctrl + 0 (zoom in) and Ctrl + 8 (zoom out). This setting is disabled when flycam (3D SpaceNavigator) is active." + width="70"> View angle + tool_tip="Defines the camera's Field of View (FOV) for simulating lens perspectives. Adjust to match the current viewer FOV for consistent Depth of Field effects." + width="70"> FOV + tool_tip="Represents the camera’s aperture setting. Lower values create a shallower depth of field (more blur), while higher values increase depth of field, making more of the scene appear in focus." + width="70"> f-number + tool_tip="Simulates the focal length of a camera lens. Higher values produce a narrower depth of field and magnify distant objects, mimicking telephoto lenses." + width="70"> Foc Length + tool_tip="Focal time controls how quickly the camera shifts focus between objects. A higher value results in a slower, smoother transition, enhancing cinematic effects." + width="70"> Foc Time + tool_tip="Circle of Confusion (CoC) determines the intensity of the blur outside the depth of field. It doesn’t affect the depth range itself but controls how strongly out-of-focus areas are blurred. Negative values in the spinner can create unique visual effects." + width="70"> CoC + tool_tip="Adjusts the rendering resolution of the Depth of Field (DoF) effect, impacting both its visual quality and performance. Higher values (up to 1.00) create sharper, more detailed blur transitions, ideal for high-quality snapshots. Medium settings (0.50–0.70) offer a good balance for setting up shots, while lower values (around 0.25) reduce quality but improve performance, suitable for regular use. Note: Higher settings can significantly impact frame rates, especially on less powerful systems. The spinner allows negative values for creative, experimental effects." + width="70"> Resolution - + + + HDR Tone Mapping Settings + + + + + + + + + + + + + HDR Tonemap Type + + + + + + + + Tone Mix + + + + + + width="280"> Glow Settings @@ -1753,35 +2460,60 @@ name="P_Glow_Quality" follows="top|left" layout="topleft" - top_pad="5" - left="4" - width="275" - height="30" + top_pad="1" + left="3" + right="-3" + height="38" border_visible="true" background_visible="true"> - + tool_tip="Activates the glow effect, causing bright objects and light sources to emit a soft halo, simulating a bloom effect. This enhances the appearance of emissive materials, reflections, and highlights, adding a more dynamic and vibrant look to illuminated areas. Disabling this option can improve performance, especially in scenes with complex lighting." + top_pad="5" + width="110"/> + + + + + + + + + tool_tip="Controls the resolution at which the glow effect is rendered. Higher values (closer to 10) produce sharper, more defined glows, while lower values (closer to 8) are more performance-friendly but may appear slightly softer. The difference between settings 8 and 10 is subtle, but higher values can impact performance on less powerful systems." + width="70"> Quality - + width="127" /> - - - + + top_pad="5" + tool_tip="Determines how many times the glow effect is processed to create smoothness and spread. Lower values result in tighter, sharper glows with minimal blur, while higher values create wider, softer glow halos with a more diffused appearance. Increasing the number of iterations can enhance glow quality but may reduce performance." + width="70"> Iterations + tool_tip="Controls the intensity of the glow effect. Low values (around 0.01 to 0.05) provide subtle, natural-looking glows. Higher values make objects appear intensely bright, but excessive settings can cause unrealistic blooming or overpower the scene. Adjust this setting gradually, as small changes can significantly affect the final look." + width="70"> Strength - - + + width="70"> Width - - + @@ -2131,16 +2852,14 @@ name="P_General" follows="left|top" layout="topleft" - top_pad="0" - label="Gen" - left="0"> + label="Gen"> + width="280"> General Render Settings @@ -2162,10 +2881,10 @@ name="P_General_Settings" follows="top|left" layout="topleft" - top_pad="3" - left="4" - width="275" - height="250" + top_pad="1" + left="3" + right="-3" + height="293" border_visible="true" background_visible="true"> + tool_tip="Sets the maximum distance at which objects are rendered in the scene. Increasing this value allows you to see farther into the environment, enhancing detail in large landscapes or distant objects. However, higher values significantly impact performance, reducing FPS, especially in complex areas. For better performance, use lower values in crowded regions or when using older hardware." + width="70"> Draw Dist. + tool_tip="Controls the maximum number of avatars rendered in the scene. Limiting this number improves performance, especially in crowded events or busy locations. Lower values reduce visual clutter and increase FPS, while higher values allow more avatars to be visible but may slow performance in large gatherings." + width="70"> Avi Count @@ -2244,7 +2963,7 @@ control_name="IndirectMaxNonImpostors" top_delta="-3" label_width="0" - left_pad="3" + left_pad="0" decimal_digits="0" follows="top|left" max_val="66" @@ -2263,7 +2982,7 @@ tool_tip="Reset to the default value."> + parameter="IndirectMaxNonImpostors"/> + tool_tip="Adjusts the level of detail (LOD) for avatars. Higher values improve visual quality, making legacy avatars appear more detailed even at greater distances. Lower values reduce detail to improve performance, which is useful in high-density areas or on lower-end systems. This setting primarily affects legacy (system) avatars. Mesh avatars are less affected by this setting as their detail levels are controlled by their own LOD settings within the mesh and further influenced by the Avatar Complexity settings found in the Graphics panel of the Preferences floater." + width="70"> Avi Detail - + + tool_tip="Controls the level of detail for avatar physics effects, such as breast physics and other mesh deformation behaviors. Higher values provide smoother, more realistic motion at the cost of performance. Lower values reduce the complexity of physics calculations, improving performance in crowded areas." + width="70"> Avi Physics + increment=".01"/> + + Sharpening + + + + + + Exposure + + + + - - + @@ -2877,10 +3692,10 @@ height="16" label="Enable Draw Distance" layout="topleft" - top_pad="10" - left="5" + top_pad="5" + left="3" name="UseFarClip" - tool_tip="Enable Draw Distance, if you disable this feature the Viewer will render past your set draw distance." + tool_tip="Enables the draw distance limit, restricting how far the viewer will render objects based on the set draw distance. Disabling this will cause the viewer to render objects beyond the defined distance, which can significantly decrease performance in large, detailed environments." width="240"/> + - + top_pad="1" + left="3" + right="-3" + height="302" + border_visible="true" + background_visible="true"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tool_tip="Displays real-time system performance statistics to help you gauge the viewer's efficiency. You can expand or collapse individual metrics by clicking their labels." + width="270"> Quick Stats + right="-4"> + width="265"> @@ -3422,16 +4382,14 @@ name="P_Cam" follows="left|top" layout="topleft" - top_pad="0" - label="Cam" - left="0"> + label="Cam"> + width="280"> 3D Mouse (Joystick) Settings @@ -3453,9 +4411,9 @@ name="P_Cam_Settings" follows="top|left" layout="topleft" - top_pad="5" - left="4" - width="275" + top_pad="1" + left="3" + right="-3" height="184" border_visible="true" background_visible="true"> @@ -3464,9 +4422,9 @@ follows="top|left" layout="topleft" left="5" - tool_tip="Adjusts the sensitivity of the Left/Right movement. If you find it difficult to move with precision, use lower scale values." + tool_tip="Adjusts the sensitivity for horizontal camera movement. Lower values allow for finer control, while higher values increase movement speed." top_pad="10" - width="80"> + width="70"> Left/Right + width="70"> Up/Down + width="70"> In/Out + width="70"> Pitch + width="70"> Yaw + width="70"> Roll - Zoom Spd + width="70"> + Zoom @@ -3799,7 +4757,7 @@ tool_tip="Reset to the default value."> + parameter="FlycamAxisDeadZone6"/> + width="70"> Feathering @@ -3870,21 +4828,21 @@ label="Zoom Axis Mapping" label_width="200" layout="topleft" - left="10" + left="5" max_val="5" min_val="-1" name="JoystickAxis6" - tool_tip="Controls which mouse axis the zooming function is mapped to (set to work with)." + tool_tip="Determines which joystick or mouse axis controls the zoom function. Set this to '4' to enable zoom via the joystick." top_pad="5" - width="255"/> + width="269"/> @@ -3958,9 +4917,9 @@ name="P_Viewer_Cam_Menu" follows="top|left" layout="topleft" - top_pad="5" + top_pad="3" left="0" - width="285" + width="288" height="22" bg_alpha_color="Phototools_Header" border_visible="true" @@ -3970,10 +4929,10 @@ name="PT_Viewer_Cam_Menu" follows="left|top" layout="topleft" - left="10" + left="7" font="SansSerif" height="17" - width="230"> + width="270"> Viewer Camera Menu Settings @@ -3982,10 +4941,10 @@ name="P_Viewer_Cam_Menu_Settings" follows="left|top" layout="topleft" - top_pad="5" - left="4" - width="275" - height="120" + top_pad="3" + left="3" + right="-3" + height="131" border_visible="true" background_visible="true"> @@ -4013,7 +4972,7 @@ name="P_Cam2" follows="left|top" layout="topleft" - top_pad="0" + top_pad="3" left="0" width="275" height="110" @@ -4022,7 +4981,7 @@ @@ -4036,11 +4995,11 @@ height="16" increment="0.002" layout="topleft" - left_delta="100" + left_pad="0" min_val="0.08" max_val="3.06" top_delta="-2" - width="135"/> + width="147"/> + + + + + + diff --git a/indra/newview/skins/default/xui/en/panel_fs_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/en/panel_fs_settings_sky_sunmoon.xml new file mode 100644 index 0000000000..ce16788c71 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_fs_settings_sky_sunmoon.xml @@ -0,0 +1,444 @@ + + + + + + + + + + + + + Sun & Moon Color: + + + + + + + + + + + + + + + Image: + + + + + + + + Glow Focus: + + + + + + Glow Size: + + + + + + Star Brightness: + + + + + + Scale: + + + + + + Azimuth: + + + + + + Elevation: + + + + + + + + + + + + + + + + Image: + + + + + + + + Scale: + + + + + + Brightness: + + + + + + Azimuth: + + + + + + Elevation: + + + + + + diff --git a/indra/newview/skins/default/xui/en/panel_fs_settings_water.xml b/indra/newview/skins/default/xui/en/panel_fs_settings_water.xml new file mode 100644 index 0000000000..5559a22831 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_fs_settings_water.xml @@ -0,0 +1,389 @@ + + + + + + + + + + + Water Fog Color + + + + Normal Map + + + + + + + + + + Density Exponent: + + + + + + + Underwater Modifier: + + + + + + Fresel Scale: + + + + + + Fresnel Offset: + + + + + + + + + + Large Wave Speed + + + + Small Wave Speed + + + + + + + + Reflection Wavelet Scale + + + + + + + + + + + Refract Above Scale (Above): + + + + + + Refract Scale (Below): + + + + + + Blur Multiplier: + + + + + + +