You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Fix lightmap dynamic objects with physical lights
This commit is contained in:
@@ -2104,7 +2104,7 @@ void main() {
|
||||
c3 * lightmap_captures[6].rgb * (3.0 * wnormal.z * wnormal.z - 1.0) +
|
||||
c2 * lightmap_captures[7].rgb * wnormal.x * wnormal.z +
|
||||
c4 * lightmap_captures[8].rgb * (wnormal.x * wnormal.x - wnormal.y * wnormal.y)) *
|
||||
scene_data.emissive_exposure_normalization;
|
||||
scene_data.IBL_exposure_normalization;
|
||||
}
|
||||
#else
|
||||
#ifdef USE_LIGHTMAP
|
||||
|
||||
@@ -1719,7 +1719,7 @@ void fragment_shader(in SceneData scene_data) {
|
||||
c[3] * lightmap_captures.data[index].sh[6].rgb * (3.0 * wnormal.z * wnormal.z - 1.0) +
|
||||
c[2] * lightmap_captures.data[index].sh[7].rgb * wnormal.x * wnormal.z +
|
||||
c[4] * lightmap_captures.data[index].sh[8].rgb * (wnormal.x * wnormal.x - wnormal.y * wnormal.y)) *
|
||||
scene_data.emissive_exposure_normalization;
|
||||
scene_data.IBL_exposure_normalization;
|
||||
|
||||
} else if (bool(instances.data[instance_index].flags & INSTANCE_FLAGS_USE_LIGHTMAP)) { // has actual lightmap
|
||||
bool uses_sh = bool(instances.data[instance_index].flags & INSTANCE_FLAGS_USE_SH_LIGHTMAP);
|
||||
|
||||
@@ -1628,7 +1628,7 @@ void main() {
|
||||
half(0.429043) // l2p2 sqrt(15.0/(16.0*PI))* PI*1.0/4.0
|
||||
);
|
||||
|
||||
half norm = half(scene_data.emissive_exposure_normalization);
|
||||
half norm = half(scene_data.IBL_exposure_normalization);
|
||||
ambient_light += c[0] * hvec3(lightmap_captures.data[index].sh[0].rgb) * norm;
|
||||
ambient_light += c[1] * hvec3(lightmap_captures.data[index].sh[1].rgb) * wnormal.y * norm;
|
||||
ambient_light += c[1] * hvec3(lightmap_captures.data[index].sh[2].rgb) * wnormal.z * norm;
|
||||
|
||||
Reference in New Issue
Block a user