-Fixed height fog (was broken)

-Make sure materials are named in OBJ importer, so they can be saved outside as resources.
This commit is contained in:
Juan Linietsky 2017-11-25 12:32:02 -03:00
parent e1cf789593
commit 9738ebcda0
3 changed files with 6 additions and 2 deletions

View file

@ -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;

View file

@ -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

View file

@ -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)) {