Refactor shader widget system and add new post-processing effects
- Removed the existing procedural_shader_widget.h file and re-added it with minor adjustments. - Introduced new blur_widget.h for Gaussian blur effects with customizable parameters. - Added chromatic_aberration_widget.h to implement chromatic aberration effects. - Created color_adjust_widget.h for color adjustments including brightness, contrast, saturation, and gamma. - Implemented color_tint_widget.h for tint mapping effects with various blending modes. - Added noise_widget.h for film grain noise effects, supporting static and animated modes. - Introduced vignette_widget.h for vignette effects with adjustable radius, softness, and tint color. - Created effects.h to consolidate all new effect widgets for easier inclusion.
This commit is contained in:
@@ -12,8 +12,8 @@
|
||||
#include "ui/widgets/text_widget.h"
|
||||
#include "ui/widgets/text_input/text_input.h"
|
||||
// 新的后效 widget 系统
|
||||
#include "ui/widgets/custom_shader/effects/effects.h"
|
||||
#include "ui/widgets/custom_shader/mask/basic_mask_widget.h"
|
||||
#include "ui/widgets/effects/effects.h"
|
||||
#include "ui/widgets/custom_shader/basic_mask_widget.h"
|
||||
|
||||
using namespace mirage;
|
||||
|
||||
@@ -59,14 +59,14 @@ int main(int argc, char* argv[]) {
|
||||
app.get_main_window()->set_tooltip_config(tooltip_cfg);
|
||||
|
||||
const auto root_widget = new_widget<scroll_box>()[
|
||||
new_widget<text_widget>()->font_id(font_id).text("你好,我们在此相遇").font_size(24).tooltip("测试tooltip"),
|
||||
new_widget<text_input>()->font_id(font_id).font_size(24),
|
||||
// new_widget<text_widget>()->font_id(font_id).text("你好,我们在此相遇").font_size(24).tooltip("测试tooltip"),
|
||||
// new_widget<text_input>()->font_id(font_id).font_size(24),
|
||||
new_widget<overlay>()[
|
||||
new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain)
|
||||
// 圆形遮罩 + 模糊效果 (使用新的 blur_widget)
|
||||
new_widget<basic_mask_widget>()[
|
||||
new_widget<blur_widget>()->set_radius(40.0f)
|
||||
] | align(alignment::center_left)
|
||||
// new_widget<basic_mask_widget>()[
|
||||
// new_widget<blur_widget>()->set_radius(40.0f)
|
||||
// ] | align(alignment::center_left)
|
||||
]
|
||||
// new_widget<overlay>()[
|
||||
// new_widget<imager>()->texture_id(texture_id).source_size(tex_size).scale(scale_mode::contain),
|
||||
|
||||
Reference in New Issue
Block a user