1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Modernized default 3D material, fixes material bugs.

This commit is contained in:
Juan Linietsky
2019-09-15 01:01:52 -03:00
parent 6deffa62fb
commit dd3682e5fe
42 changed files with 1298 additions and 891 deletions

View File

@@ -237,18 +237,18 @@ MaterialEditorPlugin::MaterialEditorPlugin(EditorNode *p_node) {
add_inspector_plugin(plugin);
}
String SpatialMaterialConversionPlugin::converts_to() const {
String StandardMaterial3DConversionPlugin::converts_to() const {
return "ShaderMaterial";
}
bool SpatialMaterialConversionPlugin::handles(const Ref<Resource> &p_resource) const {
bool StandardMaterial3DConversionPlugin::handles(const Ref<Resource> &p_resource) const {
Ref<SpatialMaterial> mat = p_resource;
Ref<StandardMaterial3D> mat = p_resource;
return mat.is_valid();
}
Ref<Resource> SpatialMaterialConversionPlugin::convert(const Ref<Resource> &p_resource) const {
Ref<Resource> StandardMaterial3DConversionPlugin::convert(const Ref<Resource> &p_resource) const {
Ref<SpatialMaterial> mat = p_resource;
Ref<StandardMaterial3D> mat = p_resource;
ERR_FAIL_COND_V(!mat.is_valid(), Ref<Resource>());
Ref<ShaderMaterial> smat;
@@ -268,7 +268,7 @@ Ref<Resource> SpatialMaterialConversionPlugin::convert(const Ref<Resource> &p_re
for (List<PropertyInfo>::Element *E = params.front(); E; E = E->next()) {
// Texture parameter has to be treated specially since SpatialMaterial saved it
// Texture parameter has to be treated specially since StandardMaterial3D saved it
// as RID but ShaderMaterial needs Texture itself
Ref<Texture2D> texture = mat->get_texture_by_name(E->get().name);
if (texture.is_valid()) {