mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 17:29:18 +02:00
disable alpha blend on refractive materials
This commit is contained in:
@@ -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) {
|
||||||
nvrhi::BlendState()
|
render_state.setBlendState(nvrhi::BlendState().setRenderTarget(
|
||||||
.setRenderTarget(
|
0, nvrhi::BlendState::RenderTarget().disableBlend()));
|
||||||
0, nvrhi::BlendState::RenderTarget()
|
} else {
|
||||||
.enableBlend()
|
render_state.setBlendState(
|
||||||
.setBlendOp(nvrhi::BlendOp::Add)
|
nvrhi::BlendState()
|
||||||
.setSrcBlend(nvrhi::BlendFactor::One)
|
.setRenderTarget(
|
||||||
.setDestBlend(
|
0,
|
||||||
nvrhi::BlendFactor::OneMinusSrcAlpha))
|
nvrhi::BlendState::RenderTarget()
|
||||||
.setRenderTarget(1, nvrhi::BlendState::RenderTarget()
|
.enableBlend()
|
||||||
.disableBlend())));
|
.setBlendOp(nvrhi::BlendOp::Add)
|
||||||
break;
|
.setSrcBlend(nvrhi::BlendFactor::One)
|
||||||
|
.setDestBlend(nvrhi::BlendFactor::OneMinusSrcAlpha))
|
||||||
|
.setRenderTarget(
|
||||||
|
1, nvrhi::BlendState::RenderTarget().disableBlend()));
|
||||||
|
}
|
||||||
|
pipeline_desc.setRenderState(render_state);
|
||||||
|
} break;
|
||||||
default:;
|
default:;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user