Fix T73127 EEVEE: Reflection plane not visible in lookdev without scene world

This commit is contained in:
2020-02-05 19:32:16 +01:00
parent 77394ef1db
commit 092deb88b0

View File

@@ -382,11 +382,12 @@ void EEVEE_lightprobes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedat
} }
} }
if (DRW_state_draw_support() && !LOOK_DEV_STUDIO_LIGHT_ENABLED(draw_ctx->v3d)) { if (DRW_state_draw_support()) {
DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL | DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL |
DRW_STATE_CULL_BACK; DRW_STATE_CULL_BACK;
DRW_PASS_CREATE(psl->probe_display, state); DRW_PASS_CREATE(psl->probe_display, state);
if (!LOOK_DEV_STUDIO_LIGHT_ENABLED(draw_ctx->v3d)) {
/* Cube Display */ /* Cube Display */
if (scene_eval->eevee.flag & SCE_EEVEE_SHOW_CUBEMAPS && lcache->cube_len > 1) { if (scene_eval->eevee.flag & SCE_EEVEE_SHOW_CUBEMAPS && lcache->cube_len > 1) {
int cube_len = lcache->cube_len - 1; /* don't count the world. */ int cube_len = lcache->cube_len - 1; /* don't count the world. */
@@ -432,8 +433,10 @@ void EEVEE_lightprobes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedat
DRW_shgroup_call_procedural_triangles(shgrp, NULL, tri_count); DRW_shgroup_call_procedural_triangles(shgrp, NULL, tri_count);
} }
} }
}
/* Planar Display */ /* Planar Display */
{
DRW_shgroup_instance_format(e_data.format_probe_display_planar, DRW_shgroup_instance_format(e_data.format_probe_display_planar,
{ {
{"probe_id", DRW_ATTR_INT, 1}, {"probe_id", DRW_ATTR_INT, 1},
@@ -447,6 +450,7 @@ void EEVEE_lightprobes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedat
stl->g_data->planar_display_shgrp = DRW_shgroup_call_buffer_instance( stl->g_data->planar_display_shgrp = DRW_shgroup_call_buffer_instance(
grp, e_data.format_probe_display_planar, DRW_cache_quad_get()); grp, e_data.format_probe_display_planar, DRW_cache_quad_get());
} }
}
else { else {
stl->g_data->planar_display_shgrp = NULL; stl->g_data->planar_display_shgrp = NULL;
} }