Rework updating editor viewport HDR
This commit is contained in:
parent
923c751af4
commit
7e2d260e68
10 changed files with 42 additions and 38 deletions
|
|
@ -570,6 +570,24 @@ void EditorNode::_update_from_settings() {
|
|||
tree->set_debug_collisions_color(GLOBAL_GET("debug/shapes/collision/shape_color"));
|
||||
tree->set_debug_collision_contact_color(GLOBAL_GET("debug/shapes/collision/contact_color"));
|
||||
|
||||
if (ProjectSettings::get_singleton()->check_changed_settings_in_group("display/window/hdr/request_hdr_output") || ProjectSettings::get_singleton()->check_changed_settings_in_group("rendering/viewport/hdr_2d")) {
|
||||
const bool use_hdr = GLOBAL_GET("display/window/hdr/request_hdr_output").operator bool() || GLOBAL_GET("rendering/viewport/hdr_2d").operator bool();
|
||||
|
||||
LocalVector<ObjectID> invalid_viewports;
|
||||
for (const ObjectID &id : hdr_viewports) {
|
||||
Viewport *vp = ObjectDB::get_instance<Viewport>(id);
|
||||
if (vp) {
|
||||
vp->set_use_hdr_2d(use_hdr);
|
||||
} else {
|
||||
invalid_viewports.push_back(id);
|
||||
}
|
||||
}
|
||||
|
||||
for (const ObjectID &id : invalid_viewports) {
|
||||
hdr_viewports.erase(id);
|
||||
}
|
||||
}
|
||||
|
||||
ResourceImporterTexture::get_singleton()->update_imports();
|
||||
|
||||
_update_translations();
|
||||
|
|
@ -4702,6 +4720,14 @@ void EditorNode::setup_color_picker(ColorPicker *p_picker) {
|
|||
palette_file_selected_callback = callable_mp(p_picker, &ColorPicker::_quick_open_palette_file_selected);
|
||||
}
|
||||
|
||||
void EditorNode::register_hdr_viewport(Viewport *p_viewport) {
|
||||
const bool hdr_requested = GLOBAL_GET("display/window/hdr/request_hdr_output");
|
||||
const bool hdr_2d_enabled = GLOBAL_GET("rendering/viewport/hdr_2d");
|
||||
p_viewport->set_use_hdr_2d(hdr_2d_enabled || hdr_requested);
|
||||
|
||||
hdr_viewports.push_back(p_viewport->get_instance_id());
|
||||
}
|
||||
|
||||
bool EditorNode::is_scene_open(const String &p_path) {
|
||||
for (int i = 0; i < editor_data.get_edited_scene_count(); i++) {
|
||||
if (editor_data.get_scene_path(i) == p_path) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue