Browse Source

Merge pull request #76555 from Tetane/master

Fix 2D shader preview draws over uniform
Max Hilbrunner 2 years ago
parent
commit
2816825e44

+ 11 - 1
editor/plugins/material_editor_plugin.cpp

@@ -164,9 +164,19 @@ void MaterialEditor::_button_pressed(Node *p_button) {
 MaterialEditor::MaterialEditor() {
 MaterialEditor::MaterialEditor() {
 	// canvas item
 	// canvas item
 
 
+	vc_2d = memnew(SubViewportContainer);
+	vc_2d->set_stretch(true);
+	add_child(vc_2d);
+	vc_2d->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
+
+	viewport_2d = memnew(SubViewport);
+	vc_2d->add_child(viewport_2d);
+	viewport_2d->set_disable_input(true);
+	viewport_2d->set_transparent_background(true);
+
 	layout_2d = memnew(HBoxContainer);
 	layout_2d = memnew(HBoxContainer);
 	layout_2d->set_alignment(BoxContainer::ALIGNMENT_CENTER);
 	layout_2d->set_alignment(BoxContainer::ALIGNMENT_CENTER);
-	add_child(layout_2d);
+	viewport_2d->add_child(layout_2d);
 	layout_2d->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
 	layout_2d->set_anchors_and_offsets_preset(PRESET_FULL_RECT);
 
 
 	rect_instance = memnew(ColorRect);
 	rect_instance = memnew(ColorRect);

+ 2 - 0
editor/plugins/material_editor_plugin.h

@@ -51,6 +51,8 @@ class MaterialEditor : public Control {
 
 
 	Vector2 rot;
 	Vector2 rot;
 
 
+	SubViewportContainer *vc_2d = nullptr;
+	SubViewport *viewport_2d = nullptr;
 	HBoxContainer *layout_2d = nullptr;
 	HBoxContainer *layout_2d = nullptr;
 	ColorRect *rect_instance = nullptr;
 	ColorRect *rect_instance = nullptr;