commit
d4359b2d09
3 changed files with 19 additions and 31 deletions
|
@ -112,21 +112,9 @@ void CanvasItemMaterial::_get_property_list( List<PropertyInfo> *p_list) const {
|
|||
void CanvasItemMaterial::set_shader(const Ref<Shader>& p_shader) {
|
||||
|
||||
ERR_FAIL_COND(p_shader.is_valid() && p_shader->get_mode()!=Shader::MODE_CANVAS_ITEM);
|
||||
#ifdef TOOLS_ENABLED
|
||||
|
||||
if (shader.is_valid()) {
|
||||
shader->disconnect("changed",this,"_shader_changed");
|
||||
}
|
||||
#endif
|
||||
shader=p_shader;
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
|
||||
if (shader.is_valid()) {
|
||||
shader->connect("changed",this,"_shader_changed");
|
||||
}
|
||||
#endif
|
||||
|
||||
RID rid;
|
||||
if (shader.is_valid())
|
||||
rid=shader->get_rid();
|
||||
|
@ -151,11 +139,6 @@ Variant CanvasItemMaterial::get_shader_param(const StringName& p_param) const{
|
|||
return VS::get_singleton()->canvas_item_material_get_shader_param(material,p_param);
|
||||
}
|
||||
|
||||
void CanvasItemMaterial::_shader_changed() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
RID CanvasItemMaterial::get_rid() const {
|
||||
|
||||
return material;
|
||||
|
|
|
@ -60,7 +60,6 @@ protected:
|
|||
bool _get(const StringName& p_name,Variant &r_ret) const;
|
||||
void _get_property_list( List<PropertyInfo> *p_list) const;
|
||||
|
||||
void _shader_changed();
|
||||
static void _bind_methods();
|
||||
|
||||
void get_argument_options(const StringName& p_function,int p_idx,List<String>*r_options) const;
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "tools/editor/editor_settings.h"
|
||||
|
||||
#include "spatial_editor_plugin.h"
|
||||
#include "scene/resources/shader_graph.h"
|
||||
#include "io/resource_loader.h"
|
||||
#include "io/resource_saver.h"
|
||||
#include "os/keyboard.h"
|
||||
|
@ -144,8 +145,6 @@ void ShaderTextEditor::_validate_script() {
|
|||
//List<StringName> params;
|
||||
//shader->get_param_list(¶ms);
|
||||
|
||||
print_line("compile: type: "+itos(type)+" code:\n"+code);
|
||||
|
||||
Error err = ShaderLanguage::compile(code,type,NULL,NULL,&errortxt,&line,&col);
|
||||
|
||||
if (err!=OK) {
|
||||
|
@ -557,34 +556,41 @@ ShaderEditor::ShaderEditor() {
|
|||
|
||||
void ShaderEditorPlugin::edit(Object *p_object) {
|
||||
|
||||
if (!p_object->cast_to<Shader>())
|
||||
Shader* s = p_object->cast_to<Shader>();
|
||||
if (!s || s->cast_to<ShaderGraph>()) {
|
||||
shader_editor->hide(); //Dont edit ShaderGraph
|
||||
return;
|
||||
}
|
||||
|
||||
shader_editor->edit(p_object->cast_to<Shader>());
|
||||
if (_2d && s->get_mode()==Shader::MODE_CANVAS_ITEM)
|
||||
shader_editor->edit(s);
|
||||
else if (!_2d && s->get_mode()==Shader::MODE_MATERIAL)
|
||||
shader_editor->edit(s);
|
||||
|
||||
}
|
||||
|
||||
bool ShaderEditorPlugin::handles(Object *p_object) const {
|
||||
|
||||
bool handles = true;
|
||||
Shader *shader=p_object->cast_to<Shader>();
|
||||
if (!shader)
|
||||
return false;
|
||||
if (_2d)
|
||||
return shader->get_mode()==Shader::MODE_CANVAS_ITEM;
|
||||
else
|
||||
if (!shader || shader->cast_to<ShaderGraph>()) // Dont handle ShaderGraph's
|
||||
handles = false;
|
||||
if (handles && _2d)
|
||||
handles = shader->get_mode()==Shader::MODE_CANVAS_ITEM;
|
||||
else if (handles && !_2d)
|
||||
return shader->get_mode()==Shader::MODE_MATERIAL;
|
||||
|
||||
if (!handles)
|
||||
shader_editor->hide();
|
||||
return handles;
|
||||
}
|
||||
|
||||
void ShaderEditorPlugin::make_visible(bool p_visible) {
|
||||
|
||||
if (p_visible) {
|
||||
shader_editor->show();
|
||||
//shader_editor->set_process(true);
|
||||
} else {
|
||||
|
||||
shader_editor->apply_shaders();
|
||||
//shader_editor->hide();
|
||||
//shader_editor->set_process(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue