Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stokes <kupomail@gmail.com>2013-09-06 02:05:52 +0400
committerDaniel Stokes <kupomail@gmail.com>2013-09-06 02:05:52 +0400
commit6cc3aec8bc3cde3a0007fd877e40a744ee44c2e2 (patch)
tree984c7de21b107b21208c8bd2c0681e057293e8b7 /source/gameengine/Rasterizer
parent677b6972b5c16553a4e50544819cf01ec41bc03e (diff)
Fixing a problem with variance shadow maps blurring out on transparent receivers in the Game Engine reported by Sam Cameron on the IRC.
Also correcting some slight blurring over time by making sure the color buffer is cleared for shadows.
Diffstat (limited to 'source/gameengine/Rasterizer')
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
index c24cfdb4ef0..bfc74e0c6dc 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
@@ -1010,7 +1010,11 @@ void RAS_OpenGLRasterizer::DisableMotionBlur()
void RAS_OpenGLRasterizer::SetAlphaBlend(int alphablend)
{
- GPU_set_material_alpha_blend(alphablend);
+ /* Variance shadow maps don't handle alpha well, best to not allow it for now */
+ if (m_drawingmode == KX_SHADOW && m_usingoverrideshader)
+ GPU_set_material_alpha_blend(GPU_BLEND_SOLID);
+ else
+ GPU_set_material_alpha_blend(alphablend);
/*
if (alphablend == m_last_alphablend)
return;