Refactor render tree executor and custom shader widget renderer for dynamic descriptor layouts
- Removed debug output statements from render_tree_executor.cpp to clean up the code. - Updated custom_shader_widget_renderer.cpp to prevent placeholder allocation for uniform buffers, ensuring correct descriptor updates. - Simplified effect rectangle setting in custom_shader_widget_base.cpp by removing debug outputs. - Adjusted descriptor binding logic in post_process_shader_widget.h for clarity and consistency. - Introduced a comprehensive design document for dynamic descriptor layout creation, addressing existing limitations and outlining a new architecture for descriptor management.
This commit is contained in:
@@ -66,32 +66,32 @@ int main(int argc, char* argv[]) {
|
||||
// new_widget<mask>()[
|
||||
new_widget<blur_widget>()->set_radius(40.0f)
|
||||
// ]->circle() | align(alignment::center_left)
|
||||
],
|
||||
new_widget<overlay>()[
|
||||
new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// 暗角效果 (使用新的 vignette_widget)
|
||||
new_widget<vignette_widget>()->set_radius(0.5f).set_softness(0.5f)
|
||||
],
|
||||
new_widget<overlay>()[
|
||||
new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// 色差效果 (使用新的 chromatic_aberration_widget)
|
||||
new_widget<chromatic_aberration_widget>()->set_offset(vec2f_t{0.01f, 0.0f})
|
||||
],
|
||||
new_widget<overlay>()[
|
||||
new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// 噪点效果 (使用新的 noise_widget)
|
||||
new_widget<noise_widget>()->set_amount(0.2f).set_grain_size(1.0f)
|
||||
],
|
||||
new_widget<overlay>()[
|
||||
new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// 颜色调整效果 (使用新的 color_adjust_widget)
|
||||
new_widget<color_adjust_widget>()->set_brightness(0.1f).set_contrast(1.5f).set_saturation(1.5f).set_gamma(2.2f)
|
||||
],
|
||||
new_widget<overlay>()[
|
||||
new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// 色调效果 (使用新的 color_tint_widget)
|
||||
new_widget<color_tint_widget>()->set_tint_color(color{1.0f, 0.4f, 0.4f, 0.3f}).set_blend_mode(4) // Overlay 模式
|
||||
]
|
||||
// new_widget<overlay>()[
|
||||
// new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// // 暗角效果 (使用新的 vignette_widget)
|
||||
// new_widget<vignette_widget>()->set_radius(0.5f).set_softness(0.5f)
|
||||
// ],
|
||||
// new_widget<overlay>()[
|
||||
// new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// // 色差效果 (使用新的 chromatic_aberration_widget)
|
||||
// new_widget<chromatic_aberration_widget>()->set_offset(vec2f_t{0.01f, 0.0f})
|
||||
// ],
|
||||
// new_widget<overlay>()[
|
||||
// new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// // 噪点效果 (使用新的 noise_widget)
|
||||
// new_widget<noise_widget>()->set_amount(0.2f).set_grain_size(1.0f)
|
||||
// ],
|
||||
// new_widget<overlay>()[
|
||||
// new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// // 颜色调整效果 (使用新的 color_adjust_widget)
|
||||
// new_widget<color_adjust_widget>()->set_brightness(0.1f).set_contrast(1.5f).set_saturation(1.5f).set_gamma(2.2f)
|
||||
// ],
|
||||
// new_widget<overlay>()[
|
||||
// new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
// // 色调效果 (使用新的 color_tint_widget)
|
||||
// new_widget<color_tint_widget>()->set_tint_color(color{1.0f, 0.4f, 0.4f, 0.3f}).set_blend_mode(4) // Overlay 模式
|
||||
// ]
|
||||
];
|
||||
|
||||
// 通过主窗口设置根控件
|
||||
|
||||
Reference in New Issue
Block a user