mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-17 05:52:39 +00:00
Add release notes for v0.92 and refactor mixed filament gradient handling
- Introduced a new `RELEASE_NOTES_v0.92.md` file detailing highlights such as gradual gradient behavior, mixed filament indexing fixes, and editable automatic mixed filaments. - Refactored `compute_gradient_ratios` to remove the cycle layers parameter, implementing a new gradual integer cadence for gradient transitions. - Updated `MixedFilament` structure to include an `origin_auto` flag for better management of auto-generated entries. - Adjusted related parsing, serialization, and UI handling to reflect these changes, ensuring improved user experience and color fidelity in mixed filament rendering.
This commit is contained in:
@@ -1173,7 +1173,6 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
||||
new_full_config.option("mixed_filament_gradient_mode", true);
|
||||
new_full_config.option("mixed_filament_height_lower_bound", true);
|
||||
new_full_config.option("mixed_filament_height_upper_bound", true);
|
||||
new_full_config.option("mixed_filament_cycle_layers", true);
|
||||
new_full_config.option("mixed_filament_advanced_dithering", true);
|
||||
new_full_config.option("mixed_filament_pointillism_pixel_size", true);
|
||||
new_full_config.option("mixed_filament_pointillism_line_gap", true);
|
||||
@@ -1185,7 +1184,6 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
||||
m_config.option("mixed_filament_gradient_mode", true);
|
||||
m_config.option("mixed_filament_height_lower_bound", true);
|
||||
m_config.option("mixed_filament_height_upper_bound", true);
|
||||
m_config.option("mixed_filament_cycle_layers", true);
|
||||
m_config.option("mixed_filament_advanced_dithering", true);
|
||||
m_config.option("mixed_filament_pointillism_pixel_size", true);
|
||||
m_config.option("mixed_filament_pointillism_line_gap", true);
|
||||
@@ -1197,7 +1195,6 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
||||
m_default_object_config.option("mixed_filament_gradient_mode", true);
|
||||
m_default_object_config.option("mixed_filament_height_lower_bound", true);
|
||||
m_default_object_config.option("mixed_filament_height_upper_bound", true);
|
||||
m_default_object_config.option("mixed_filament_cycle_layers", true);
|
||||
m_default_object_config.option("mixed_filament_advanced_dithering", true);
|
||||
m_default_object_config.option("mixed_filament_pointillism_pixel_size", true);
|
||||
m_default_object_config.option("mixed_filament_pointillism_line_gap", true);
|
||||
@@ -1303,7 +1300,6 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
||||
int mixed_gradient_mode = 0;
|
||||
float mixed_height_lower = 0.04f;
|
||||
float mixed_height_upper = 0.16f;
|
||||
int mixed_cycle_layers = 4;
|
||||
bool mixed_advanced_dither = false;
|
||||
float mixed_pointillism_pixel_size = 0.f;
|
||||
float mixed_pointillism_line_gap = 0.f;
|
||||
@@ -1319,8 +1315,6 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
||||
mixed_height_lower = float(new_full_config.opt_float("mixed_filament_height_lower_bound"));
|
||||
if (new_full_config.has("mixed_filament_height_upper_bound"))
|
||||
mixed_height_upper = float(new_full_config.opt_float("mixed_filament_height_upper_bound"));
|
||||
if (new_full_config.has("mixed_filament_cycle_layers"))
|
||||
mixed_cycle_layers = new_full_config.opt_int("mixed_filament_cycle_layers");
|
||||
if (new_full_config.has("mixed_filament_advanced_dithering")) {
|
||||
if (const ConfigOptionBool *opt = new_full_config.option<ConfigOptionBool>("mixed_filament_advanced_dithering"))
|
||||
mixed_advanced_dither = opt->value;
|
||||
@@ -1339,7 +1333,6 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
||||
mixed_gradient_mode = std::clamp(mixed_gradient_mode, 0, 1);
|
||||
mixed_height_lower = std::max(0.01f, mixed_height_lower);
|
||||
mixed_height_upper = std::max(mixed_height_lower, mixed_height_upper);
|
||||
mixed_cycle_layers = std::max(2, mixed_cycle_layers);
|
||||
mixed_pointillism_pixel_size = std::max(0.f, mixed_pointillism_pixel_size);
|
||||
mixed_pointillism_line_gap = std::max(0.f, mixed_pointillism_line_gap);
|
||||
mixed_surface_indentation = std::clamp(mixed_surface_indentation, -2.f, 2.f);
|
||||
@@ -1348,7 +1341,6 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
||||
<< ", gradient_mode=" << mixed_gradient_mode
|
||||
<< ", lower=" << mixed_height_lower
|
||||
<< ", upper=" << mixed_height_upper
|
||||
<< ", cycle_layers=" << mixed_cycle_layers
|
||||
<< ", advanced_dither=" << (mixed_advanced_dither ? 1 : 0)
|
||||
<< ", pointillism_pixel_size=" << mixed_pointillism_pixel_size
|
||||
<< ", pointillism_line_gap=" << mixed_pointillism_line_gap
|
||||
@@ -1366,7 +1358,6 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_
|
||||
m_mixed_filament_mgr.apply_gradient_settings(mixed_gradient_mode,
|
||||
mixed_height_lower,
|
||||
mixed_height_upper,
|
||||
mixed_cycle_layers,
|
||||
mixed_advanced_dither);
|
||||
size_t mixed_custom_count = 0;
|
||||
for (const auto &mf : m_mixed_filament_mgr.mixed_filaments())
|
||||
|
||||
Reference in New Issue
Block a user