Skip to content

Commit

Permalink
Ensure environment radiance is not used on refprobe interiors, fixes #…
Browse files Browse the repository at this point in the history
  • Loading branch information
reduz committed Nov 16, 2018
1 parent 5d00407 commit e77afb8
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/gles2/rasterizer_scene_gles2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2497,6 +2497,7 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const
Environment *env = NULL;

int viewport_width, viewport_height;
bool probe_interior = false;

if (p_reflection_probe.is_valid()) {
ReflectionProbeInstance *probe = reflection_probe_instance_owner.getornull(p_reflection_probe);
Expand All @@ -2514,6 +2515,8 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const
viewport_width = probe->probe_ptr->resolution;
viewport_height = probe->probe_ptr->resolution;

probe_interior = probe->probe_ptr->interior;

} else {
state.render_no_shadows = false;
current_fb = storage->frame.current_rt->fbo;
Expand Down Expand Up @@ -2624,6 +2627,10 @@ void RasterizerSceneGLES2::render_scene(const Transform &p_cam_transform, const
}
}

if (probe_interior) {
env_radiance_tex = 0; //do not use radiance texture on interiors
}

// render opaque things first
render_list.sort_by_key(false);
_render_render_list(render_list.elements, render_list.element_count, p_cam_transform, p_cam_projection, p_shadow_atlas, env, env_radiance_tex, 0.0, 0.0, false, false, false);
Expand Down
4 changes: 4 additions & 0 deletions drivers/gles3/rasterizer_scene_gles3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4341,6 +4341,10 @@ void RasterizerSceneGLES3::render_scene(const Transform &p_cam_transform, const
}
}

if (probe && probe->probe_ptr->interior) {
env_radiance_tex = 0; //for rendering probe interiors, radiance must not be used.
}

state.texscreen_copied = false;

glBlendEquation(GL_FUNC_ADD);
Expand Down

0 comments on commit e77afb8

Please sign in to comment.