This commit encompasses a significant refactor and enhancement of both the Phototools and Fixed Environment floaters, addressing user feedback, preparing for localization, incorporating feature updates, and resolving a build error. Key changes include:
- **Build Fix:** Resolved a build error caused by a duplicated line in C++ code (likely a merge artifact), ensuring cleaner compilation.
- **Phototools Floater UI - Layout & Localization:** Floater resized and layout adjusted to accommodate label localization and fix UI clipping issues.
- **Phototools Floater - Environment (Env) Tab - Preset Management & Bug Fixes:**
- Added "New Day Preset" button.
- **Removed (commented out) "Edit Sky Preset" and "Edit Water Preset" buttons.** These buttons are currently launching the environment editor without providing the necessary inventory UUID of the setting being edited, leading to improper functionality. This issue will be addressed in a future update.
- Resolved "Water Reflection Res." setting functionality issue.
- **Phototools Floater - Reflection Settings (Env Tab) - Feature Addition:** Introduced "Reflection Distance" setting in Reflection Probe options.
- **Phototools Floater - Shadow (Shdw) Tab - UI Clarity & Bug Fixes:**
- Improved "Shdw" tab label clarity.
- Corrected "Loc Lights" range and default value inconsistencies.
- Fixed duplicate UI element names ("Loc Light slider," "Irrad Max") for localization.
- Corrected "Shd Bias" slider default value.
- **Phototools Floater - VFX Tab - Tooltip & Labeling Bug Fixes:**
- Clarified "Shd Soften" tooltip (shadows vs. AO).
- Corrected "Tone Mix" label name.
- **Phototools Floater - General (Gen) Tab - Bug Fix:** Fixed "Avi Count" default button.
- **Fixed Environment Floater - UI Refactor:** Resized and rewrote the layout of the Fixed Environment floater (`floater_fs_fixedenvironment.xml`) along with nested panels for improved localization.
- **General UI Enhancements (Both Floaters):** Improved tooltips across both Phototools and Fixed Environment floaters for clarity and localization; updated labels for better user experience and translatability.
These changes enhance UI clarity and consistency across key floaters, address specific bugs reported by users, incorporate new features like "Reflection Distance" and "Day Presets," resolve a build error, and ensure improved localization readiness for both the Phototools and Fixed Environment UI components.
This commit introduces a significant update to the Phototools floater, bringing a redesigned user interface and expanding the available rendering control options for Phototools 2.0. This is the initial implementation of the Phototools 2.0 feature set and includes substantial changes to the user interface and underlying logic.
Key UI Changes:
* **Tab Restructuring and Renaming:** The Phototools floater tabs have been reorganized and relabeled for better clarity and logical grouping of settings.
* "Environment" tab now focuses on core environment presets and settings.
* "Light" tab renamed to "Shd" (Shadows) focusing on light and shadow related controls.
* "DoF/Glow" tab renamed to "VFX" (Visual Effects) to encompass Depth of Field, Glow, and now Tone Mapping settings.
* Tab labels shortened for better fit within the floater.
* **Environment Tab Redesign:** The "Environment" tab has been significantly restructured for improved usability.
* Sky, Water, and Day Cycle presets are now more compactly arranged at the top.
* "Personal Lighting," "Shared Environment Reset," and "Pause Clouds" controls are grouped in a new dedicated panel for easier access to core environment functions.
* "Quick Env." and "Env. Presets" panels are now present and side-by-side, optimizing space within the tab.
* **Reflection Settings Panel:** The "Reflection Settings" panel (within "Env" tab) has been added with new controls for advanced reflection features:
* Added checkboxes to enable "Screen Space Reflections" and "Mirrors," providing user control over these rendering techniques.
* Introduced combo boxes for "Reflection Detail," "Reflection Coverage," "Mirror Resolution," and "Mirror Update Rate," allowing fine-grained control over reflection quality and performance.
* Water reflection resolution control is relabeled for clarity as "Water Reflection Res."
* **Shadow Settings Panel Enhancements ("Shd" Tab):** The "Shadows" tab ("Shd") includes reorganized and expanded shadow controls.
* Added a "Point Lighting (Restart)" combo box to control the level of point light rendering, requiring viewer restart for mode changes.
* Introduced a "Local Lights" slider and spinner to directly control the number of local lights rendered, offering performance optimization options.
* **VFX Tab Expansion (formerly "DoF/Glow"):** The "VFX" tab now incorporates HDR Tone Mapping settings, providing more control over the final image tonality.
* Added a "HDR Tone Mapping Settings" panel with controls to enable HDR and Emissive rendering and select the "HDR Tonemap Type" (Khronos Neutral or ACES).
* Introduced a "Tone Mix" slider and spinner to adjust the blending of the tone mapping effect.
* **General Render Settings Updates ("Gen" Tab):** The "General Render Settings" tab includes new post-processing controls.
* Added "Sharpening" and "Exposure" sliders/spinners to the "General" tab, allowing users to adjust image sharpness and exposure directly within Phototools.
* **Anti-aliasing and Texture Settings Panel Updates:** The "Anti-aliasing" panel is enhanced with new control over antialiasing and texture settings.
* Added "Antialiasing Type (Restart)" combo box to select between different antialiasing algorithms (Disabled, FXAA, SMAA).
* "Antialiasing Quality" combo box now offers more descriptive labels (Low, Medium, High, Ultra).
* Introduced "Max Texture Resolution" and "Avatar Display" combo boxes to control texture resolution limits and avatar display complexity.
* **Removed Items (UI Elements):**
* Removed the "P_Vignetting" panel from the "General" tab as vignetting controls have been deemed less frequently used and can be accessed through "Debug Settings" if needed.
* **Removed non-functional Glow Settings (due to PBR changes):**
* Removed the "Luminance," "Warmth," and "Alpha (Max Extract Alpha)" settings from the "Glow Settings" panel.
* This includes the removal of their associated UI elements: text labels, sliders, spinners, and reset buttons.
* These settings are no longer effective after Linden Lab's Physically Based Rendering (PBR) updates.
Codebase Improvements:
* **Typo Correction in Floater Registration:** Fixed a likely typo in `llviewerfloaterreg.cpp` where the Phototools floater registration was incorrectly using the `PHOTOTOOLS_FLOATER` constant (likely intended to be a string literal "phototools"), ensuring consistency and code correctness.
File Changes:
This commit includes the following new and modified files to implement these changes:
* **New Files (UI Elements):**
* `indra/newview/skins/default/xui/en/floater_fs_fixedenvironment.xml` (New floater for Fixed Environment settings)
* `indra/newview/skins/default/xui/en/panel_fs_settings_sky_atmos.xml` (New panel for Sky Atmosphere settings)
* `indra/newview/skins/default/xui/en/panel_fs_settings_sky_clouds.xml` (New panel for Sky Clouds settings)
* `indra/newview/skins/default/xui/en/panel_fs_settings_sky_sunmoon.xml` (New panel for Sky Sun/Moon settings)
* `indra/newview/skins/default/xui/en/panel_fs_settings_water.xml` (New panel for Water settings)
* **Modified Files (UI and Logic Integration):**
* `indra/newview/llfloaterfixedenvironment.cpp` (Modified to handle new Fixed Environment floater logic)
* `indra/newview/llviewerfloaterreg.cpp` (Modified for floater registration)
* `indra/newview/skins/default/xui/en/floater_phototools.xml` (Updated to integrate new panels and UI elements within the Phototools floater)
These UI and feature additions represent a significant step forward for Phototools 2.0, offering users a more refined and powerful set of tools for visual customization and rendering control within the Firestorm Viewer. This commit lays the foundation for further Phototools 2.0 development and feature enhancements.