From 8ae6f53bfb9c59ac09e758aa45dbbc2899121153 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sat, 24 Feb 2007 23:30:29 +0000 Subject: [PATCH] CopySrc blend mode --- stepmania/src/RageDisplay_D3D.cpp | 4 ++++ stepmania/src/RageDisplay_OGL.cpp | 4 ++++ stepmania/src/RageTypes.cpp | 1 + stepmania/src/RageTypes.h | 1 + 4 files changed, 10 insertions(+) diff --git a/stepmania/src/RageDisplay_D3D.cpp b/stepmania/src/RageDisplay_D3D.cpp index 1a9eb9c8f5..a36f838877 100644 --- a/stepmania/src/RageDisplay_D3D.cpp +++ b/stepmania/src/RageDisplay_D3D.cpp @@ -1211,6 +1211,10 @@ void RageDisplay_D3D::SetBlendMode( BlendMode mode ) g_pd3dDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA ); g_pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_ONE ); break; + case BLEND_COPY_SRC: + g_pd3dDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_ONE ); + g_pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_ZERO ); + break; case BLEND_NO_EFFECT: g_pd3dDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_ZERO ); g_pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_ONE ); diff --git a/stepmania/src/RageDisplay_OGL.cpp b/stepmania/src/RageDisplay_OGL.cpp index 71d9ad0640..dab70b95c4 100644 --- a/stepmania/src/RageDisplay_OGL.cpp +++ b/stepmania/src/RageDisplay_OGL.cpp @@ -1633,6 +1633,10 @@ void RageDisplay_OGL::SetBlendMode( BlendMode mode ) case BLEND_ADD: iSourceRGB = GL_SRC_ALPHA; iDestRGB = GL_ONE; break; + case BLEND_COPY_SRC: + iSourceRGB = GL_ONE; iDestRGB = GL_ZERO; + iSourceAlpha = GL_ONE; iDestAlpha = GL_ZERO; + break; case BLEND_WEIGHTED_MULTIPLY: /* output = 2*(dst*src). 0.5,0.5,0.5 is identity; darker colors darken the image, * and brighter colors lighten the image. */ diff --git a/stepmania/src/RageTypes.cpp b/stepmania/src/RageTypes.cpp index eeea3db397..0c32ea93fa 100644 --- a/stepmania/src/RageTypes.cpp +++ b/stepmania/src/RageTypes.cpp @@ -74,6 +74,7 @@ static const char *BlendModeNames[] = { "Normal", "Add", + "CopySrc", "WeightedMultiply", "InvertDest", "NoEffect" diff --git a/stepmania/src/RageTypes.h b/stepmania/src/RageTypes.h index 45c10ee15d..f22ebd3154 100644 --- a/stepmania/src/RageTypes.h +++ b/stepmania/src/RageTypes.h @@ -9,6 +9,7 @@ enum BlendMode { BLEND_NORMAL, BLEND_ADD, + BLEND_COPY_SRC, BLEND_WEIGHTED_MULTIPLY, BLEND_INVERT_DEST, BLEND_NO_EFFECT,