Browse Source

Merge pull request #44458 from dedm0zaj/3.2_lightmap_capture_data_energy

[3.2] Lightness of dynamic objects from Energy BakedLightmapData
Rémi Verschelde 4 years ago
parent
commit
4436f95dce
1 changed files with 5 additions and 0 deletions
  1. 5 0
      servers/visual/visual_server_scene.cpp

+ 5 - 0
servers/visual/visual_server_scene.cpp

@@ -1306,10 +1306,15 @@ void VisualServerScene::_update_instance_lightmap_captures(Instance *p_instance)
 
 		Vector3 pos = to_cell_xform.xform(p_instance->transform.origin);
 
+		const float capture_energy = VSG::storage->lightmap_capture_get_energy(E->get()->base);
+
 		for (int i = 0; i < 12; i++) {
 
 			Vector3 dir = to_cell_xform.basis.xform(cone_traces[i]).normalized();
 			Color capture = _light_capture_voxel_cone_trace(octree_r.ptr(), pos, dir, cone_aperture, cell_subdiv);
+			capture.r *= capture_energy;
+			capture.g *= capture_energy;
+			capture.b *= capture_energy;
 			p_instance->lightmap_capture_data.write[i] += capture;
 		}
 	}