16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 12:49:18 +02:00

disable alpha blend on refractive materials

This commit is contained in:
Wls50
2025-11-24 19:03:43 +01:00
committed by Hirek
parent 76d5d3831d
commit 0820873a45

View File

@@ -303,8 +303,8 @@ void NvRenderer::MaterialTemplate::Init(const YAML::Node &conf) {
.setBlendState(nvrhi::BlendState().setRenderTarget( .setBlendState(nvrhi::BlendState().setRenderTarget(
0, nvrhi::BlendState::RenderTarget().disableBlend()))); 0, nvrhi::BlendState::RenderTarget().disableBlend())));
break; break;
case RenderPassType::Forward: case RenderPassType::Forward: {
pipeline_desc.setRenderState( auto render_state =
nvrhi::RenderState() nvrhi::RenderState()
.setDepthStencilState( .setDepthStencilState(
nvrhi::DepthStencilState() nvrhi::DepthStencilState()
@@ -316,19 +316,25 @@ void NvRenderer::MaterialTemplate::Init(const YAML::Node &conf) {
.setFillSolid() .setFillSolid()
.enableDepthClip() .enableDepthClip()
.disableScissor() .disableScissor()
.setCullFront()) .setCullFront());
.setBlendState( if (m_enable_refraction) {
render_state.setBlendState(nvrhi::BlendState().setRenderTarget(
0, nvrhi::BlendState::RenderTarget().disableBlend()));
} else {
render_state.setBlendState(
nvrhi::BlendState() nvrhi::BlendState()
.setRenderTarget( .setRenderTarget(
0, nvrhi::BlendState::RenderTarget() 0,
nvrhi::BlendState::RenderTarget()
.enableBlend() .enableBlend()
.setBlendOp(nvrhi::BlendOp::Add) .setBlendOp(nvrhi::BlendOp::Add)
.setSrcBlend(nvrhi::BlendFactor::One) .setSrcBlend(nvrhi::BlendFactor::One)
.setDestBlend( .setDestBlend(nvrhi::BlendFactor::OneMinusSrcAlpha))
nvrhi::BlendFactor::OneMinusSrcAlpha)) .setRenderTarget(
.setRenderTarget(1, nvrhi::BlendState::RenderTarget() 1, nvrhi::BlendState::RenderTarget().disableBlend()));
.disableBlend()))); }
break; pipeline_desc.setRenderState(render_state);
} break;
default:; default:;
} }