42 lines
870 B
C++
42 lines
870 B
C++
|
#include "CGL.h"
|
||
|
|
||
|
// ************ PUBLIC ************
|
||
|
void CGL::SetBlendMode(EBlendFactor Source, EBlendFactor Dest)
|
||
|
{
|
||
|
glBlendFuncSeparate(Source, Dest, eBlendZero, eBlendZero);
|
||
|
mBlendSrcFac = Source;
|
||
|
mBlendDstFac = Dest;
|
||
|
}
|
||
|
|
||
|
void CGL::SetOpaqueBlend()
|
||
|
{
|
||
|
SetBlendMode(eBlendOne, eBlendZero);
|
||
|
}
|
||
|
|
||
|
void CGL::SetAlphaBlend()
|
||
|
{
|
||
|
SetBlendMode(eBlendSrcAlpha, eBlendInvSrcAlpha);
|
||
|
}
|
||
|
|
||
|
void CGL::SetAdditiveBlend()
|
||
|
{
|
||
|
SetBlendMode(eBlendOne, eBlendOne);
|
||
|
}
|
||
|
|
||
|
// ************ PRIVATE ************
|
||
|
void CGL::Init()
|
||
|
{
|
||
|
if (!mInitialized)
|
||
|
{
|
||
|
glBlendFuncSeparate(GL_ONE, GL_ZERO, GL_ZERO, GL_ZERO);
|
||
|
mBlendSrcFac = eBlendOne;
|
||
|
mBlendDstFac = eBlendZero;
|
||
|
mInitialized = true;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// ************ STATIC MEMBER INITIALIZATION ************
|
||
|
bool CGL::mInitialized;
|
||
|
EBlendFactor CGL::mBlendSrcFac;
|
||
|
EBlendFactor CGL::mBlendDstFac;
|