Fix: EEVEE-Next: blending of dithered material
The code removed in #115066 forgot to remove the blend method.
This commit is contained in:
@@ -371,7 +371,7 @@ PassMain::Sub *ForwardPipeline::material_transparent_add(const Object *ob,
|
|||||||
::Material *blender_mat,
|
::Material *blender_mat,
|
||||||
GPUMaterial *gpumat)
|
GPUMaterial *gpumat)
|
||||||
{
|
{
|
||||||
DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_CUSTOM | DRW_STATE_DEPTH_LESS_EQUAL;
|
DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_LESS_EQUAL;
|
||||||
if (blender_mat->blend_flag & MA_BL_CULL_BACKFACE) {
|
if (blender_mat->blend_flag & MA_BL_CULL_BACKFACE) {
|
||||||
state |= DRW_STATE_CULL_BACK;
|
state |= DRW_STATE_CULL_BACK;
|
||||||
}
|
}
|
||||||
@@ -469,8 +469,8 @@ void DeferredLayer::begin_sync()
|
|||||||
inst_.cryptomatte.bind_resources(gbuffer_ps_);
|
inst_.cryptomatte.bind_resources(gbuffer_ps_);
|
||||||
}
|
}
|
||||||
|
|
||||||
DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_CUSTOM | DRW_STATE_DEPTH_EQUAL |
|
DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_EQUAL | DRW_STATE_WRITE_STENCIL |
|
||||||
DRW_STATE_WRITE_STENCIL | DRW_STATE_STENCIL_ALWAYS;
|
DRW_STATE_STENCIL_ALWAYS;
|
||||||
|
|
||||||
gbuffer_double_sided_ps_ = &gbuffer_ps_.sub("DoubleSided");
|
gbuffer_double_sided_ps_ = &gbuffer_ps_.sub("DoubleSided");
|
||||||
gbuffer_double_sided_ps_->state_set(state);
|
gbuffer_double_sided_ps_->state_set(state);
|
||||||
@@ -1018,8 +1018,8 @@ void DeferredProbeLayer::begin_sync()
|
|||||||
inst_.cryptomatte.bind_resources(gbuffer_ps_);
|
inst_.cryptomatte.bind_resources(gbuffer_ps_);
|
||||||
}
|
}
|
||||||
|
|
||||||
DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_CUSTOM | DRW_STATE_DEPTH_EQUAL |
|
DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_EQUAL | DRW_STATE_WRITE_STENCIL |
|
||||||
DRW_STATE_WRITE_STENCIL | DRW_STATE_STENCIL_ALWAYS;
|
DRW_STATE_STENCIL_ALWAYS;
|
||||||
|
|
||||||
gbuffer_double_sided_ps_ = &gbuffer_ps_.sub("DoubleSided");
|
gbuffer_double_sided_ps_ = &gbuffer_ps_.sub("DoubleSided");
|
||||||
gbuffer_double_sided_ps_->state_set(state);
|
gbuffer_double_sided_ps_->state_set(state);
|
||||||
@@ -1177,7 +1177,7 @@ void PlanarProbePipeline::begin_sync()
|
|||||||
gbuffer_ps_.bind_image(RBUFS_VALUE_SLOT, &inst_.render_buffers.rp_value_tx);
|
gbuffer_ps_.bind_image(RBUFS_VALUE_SLOT, &inst_.render_buffers.rp_value_tx);
|
||||||
inst_.cryptomatte.bind_resources(gbuffer_ps_);
|
inst_.cryptomatte.bind_resources(gbuffer_ps_);
|
||||||
|
|
||||||
DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_CUSTOM | DRW_STATE_DEPTH_EQUAL;
|
DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_EQUAL;
|
||||||
|
|
||||||
gbuffer_double_sided_ps_ = &gbuffer_ps_.sub("DoubleSided");
|
gbuffer_double_sided_ps_ = &gbuffer_ps_.sub("DoubleSided");
|
||||||
gbuffer_double_sided_ps_->state_set(state);
|
gbuffer_double_sided_ps_->state_set(state);
|
||||||
|
|||||||
Reference in New Issue
Block a user