Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/eevee/eevee_effects.c
| Show First 20 Lines • Show All 169 Lines • ▼ Show 20 Lines | void EEVEE_effects_init(EEVEE_ViewLayerData *sldata, | ||||
| } | } | ||||
| /* Alpha checker if background is not drawn in viewport. */ | /* Alpha checker if background is not drawn in viewport. */ | ||||
| if (!DRW_state_is_image_render() && !DRW_state_draw_background()) { | if (!DRW_state_is_image_render() && !DRW_state_draw_background()) { | ||||
| effects->enabled_effects |= EFFECT_ALPHA_CHECKER; | effects->enabled_effects |= EFFECT_ALPHA_CHECKER; | ||||
| } | } | ||||
| /** | /** | ||||
| * Ping Pong buffer | |||||
| */ | |||||
| if ((effects->enabled_effects & EFFECT_POST_BUFFER) != 0) { | |||||
| SETUP_BUFFER(txl->color_post, fbl->effect_fb, fbl->effect_color_fb); | |||||
| } | |||||
| else { | |||||
| CLEANUP_BUFFER(txl->color_post, fbl->effect_fb, fbl->effect_color_fb); | |||||
| } | |||||
| /** | |||||
| * MinMax Pyramid | * MinMax Pyramid | ||||
| */ | */ | ||||
| const bool half_res_hiz = true; | const bool half_res_hiz = true; | ||||
| int size[2], div; | int size[2], div; | ||||
| common_data->hiz_mip_offset = (half_res_hiz) ? 1 : 0; | common_data->hiz_mip_offset = (half_res_hiz) ? 1 : 0; | ||||
| div = (half_res_hiz) ? 2 : 1; | div = (half_res_hiz) ? 2 : 1; | ||||
| size[0] = max_ii(size_fs[0] / div, 1); | size[0] = max_ii(size_fs[0] / div, 1); | ||||
| size[1] = max_ii(size_fs[1] / div, 1); | size[1] = max_ii(size_fs[1] / div, 1); | ||||
| ▲ Show 20 Lines • Show All 184 Lines • ▼ Show 20 Lines | void EEVEE_effects_draw_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata) | ||||
| * Setup double buffer so we can access last frame as it was before post processes. | * Setup double buffer so we can access last frame as it was before post processes. | ||||
| */ | */ | ||||
| if ((effects->enabled_effects & EFFECT_DOUBLE_BUFFER) != 0) { | if ((effects->enabled_effects & EFFECT_DOUBLE_BUFFER) != 0) { | ||||
| SETUP_BUFFER(txl->color_double_buffer, fbl->double_buffer_fb, fbl->double_buffer_color_fb); | SETUP_BUFFER(txl->color_double_buffer, fbl->double_buffer_fb, fbl->double_buffer_color_fb); | ||||
| } | } | ||||
| else { | else { | ||||
| CLEANUP_BUFFER(txl->color_double_buffer, fbl->double_buffer_fb, fbl->double_buffer_color_fb); | CLEANUP_BUFFER(txl->color_double_buffer, fbl->double_buffer_fb, fbl->double_buffer_color_fb); | ||||
| } | } | ||||
| /** | |||||
| * Ping Pong buffer | |||||
| */ | |||||
| if ((effects->enabled_effects & EFFECT_POST_BUFFER) != 0) { | |||||
| SETUP_BUFFER(txl->color_post, fbl->effect_fb, fbl->effect_color_fb); | |||||
| } | |||||
| else { | |||||
| CLEANUP_BUFFER(txl->color_post, fbl->effect_fb, fbl->effect_color_fb); | |||||
| } | |||||
| } | } | ||||
| #if 0 /* Not required for now */ | #if 0 /* Not required for now */ | ||||
| static void min_downsample_cb(void *vedata, int UNUSED(level)) | static void min_downsample_cb(void *vedata, int UNUSED(level)) | ||||
| { | { | ||||
| EEVEE_PassList *psl = ((EEVEE_Data *)vedata)->psl; | EEVEE_PassList *psl = ((EEVEE_Data *)vedata)->psl; | ||||
| DRW_draw_pass(psl->minz_downlevel_ps); | DRW_draw_pass(psl->minz_downlevel_ps); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 228 Lines • Show Last 20 Lines | |||||