summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2017-11-25 12:32:02 -0300
committerJuan Linietsky <reduzio@gmail.com>2017-11-25 12:32:41 -0300
commit9738ebcda047fd9b4ddf71a0da5d682ade1a2666 (patch)
treea7b5703d635fef7bf2b70933b4f0f7a512691213
parente1cf789593ce344726f43e087e5746802454c208 (diff)
-Fixed height fog (was broken)
-Make sure materials are named in OBJ importer, so they can be saved outside as resources.
-rw-r--r--drivers/gles3/shaders/scene.glsl2
-rw-r--r--editor/import/resource_importer_obj.cpp1
-rw-r--r--editor/import/resource_importer_scene.cpp5
3 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gles3/shaders/scene.glsl b/drivers/gles3/shaders/scene.glsl
index 9880663143..a3792371af 100644
--- a/drivers/gles3/shaders/scene.glsl
+++ b/drivers/gles3/shaders/scene.glsl
@@ -2048,7 +2048,7 @@ FRAGMENT_SHADER_CODE
if (fog_height_enabled) {
float y = (camera_matrix * vec4(vertex,1.0)).y;
- fog_amount = max(fog_amount,pow(1.0-smoothstep(fog_height_min,fog_height_max,y),fog_height_curve));
+ fog_amount = max(fog_amount,pow(smoothstep(fog_height_min,fog_height_max,y),fog_height_curve));
}
float rev_amount = 1.0 - fog_amount;
diff --git a/editor/import/resource_importer_obj.cpp b/editor/import/resource_importer_obj.cpp
index bd24aac99b..14bda9bb4e 100644
--- a/editor/import/resource_importer_obj.cpp
+++ b/editor/import/resource_importer_obj.cpp
@@ -58,6 +58,7 @@ static Error _parse_material_library(const String &p_path, Map<String, Ref<Spati
current_name = l.replace("newmtl", "").strip_edges();
current.instance();
+ current->set_name(current_name);
material_map[current_name] = current;
} else if (l.begins_with("Ka ")) {
//uv
diff --git a/editor/import/resource_importer_scene.cpp b/editor/import/resource_importer_scene.cpp
index af766128b0..95445693b4 100644
--- a/editor/import/resource_importer_scene.cpp
+++ b/editor/import/resource_importer_scene.cpp
@@ -952,7 +952,10 @@ void ResourceImporterScene::_make_external_resources(Node *p_node, const String
for (int i = 0; i < mesh->get_surface_count(); i++) {
mat = mesh->surface_get_material(i);
- if (!mat.is_valid() || mat->get_name() == "")
+
+ if (!mat.is_valid())
+ continue;
+ if (mat->get_name() == "")
continue;
if (!p_materials.has(mat)) {