From 2ff93b4635cd4f86fcf5cfc4af003ae138f20ad2 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 11 Apr 2020 19:03:20 +0200 Subject: [PATCH] - added the missing blend modes to FRenderStyle. --- src/common/engine/renderstyle.h | 2 ++ src/rendering/gl/renderer/gl_renderstate.cpp | 2 +- src/rendering/vulkan/system/vk_builders.cpp | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/common/engine/renderstyle.h b/src/common/engine/renderstyle.h index 64326fd3c..70ad5d561 100644 --- a/src/common/engine/renderstyle.h +++ b/src/common/engine/renderstyle.h @@ -109,6 +109,8 @@ enum ERenderAlpha STYLEALPHA_InvSrcCol, // Blend factor is 1.0 - color (HWR only) STYLEALPHA_DstCol, // Blend factor is dest. color (HWR only) STYLEALPHA_InvDstCol, // Blend factor is 1.0 - dest. color (HWR only) + STYLEALPHA_Dst, // Blend factor is dest. alpha + STYLEALPHA_InvDst, // Blend factor is 1.0 - dest. alpha STYLEALPHA_MAX }; diff --git a/src/rendering/gl/renderer/gl_renderstate.cpp b/src/rendering/gl/renderer/gl_renderstate.cpp index 60ed8d8cb..5e58e7837 100644 --- a/src/rendering/gl/renderer/gl_renderstate.cpp +++ b/src/rendering/gl/renderer/gl_renderstate.cpp @@ -349,7 +349,7 @@ void FGLRenderState::ApplyMaterial(FMaterial *mat, int clampmode, int translatio void FGLRenderState::ApplyBlendMode() { - static int blendstyles[] = { GL_ZERO, GL_ONE, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, }; + static int blendstyles[] = { GL_ZERO, GL_ONE, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA }; static int renderops[] = { 0, GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; diff --git a/src/rendering/vulkan/system/vk_builders.cpp b/src/rendering/vulkan/system/vk_builders.cpp index cd7aeeae8..344b73a06 100644 --- a/src/rendering/vulkan/system/vk_builders.cpp +++ b/src/rendering/vulkan/system/vk_builders.cpp @@ -227,6 +227,8 @@ void GraphicsPipelineBuilder::setBlendMode(const FRenderStyle &style) VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR, VK_BLEND_FACTOR_DST_COLOR, VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR, + VK_BLEND_FACTOR_DST_ALPHA, + VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA, }; static const int renderops[] = {