📄 mgcalphastate.h
字号:
// Magic Software, Inc.
// http://www.magic-software.com
// Copyright (c) 2000, All Rights Reserved
//
// Source code from Magic Software is supplied under the terms of a license
// agreement and may not be copied or disclosed except in accordance with the
// terms of that agreement. The various license agreements may be found at
// the Magic Software web site. This file is subject to the license
//
// RESTRICTED USE SOURCE CODE
// http://www.magic-software.com/License/restricted.pdf
#ifndef MGCALPHASTATE_H
#define MGCALPHASTATE_H
#include "MgcRenderState.h"
MgcSmartPointer(MgcAlphaState);
class MgcAlphaState : public MgcRenderState
{
MgcDeclareDefaultState(MgcAlphaState);
MgcDeclareRTTI;
MgcDeclareStream;
public:
MgcAlphaState ();
virtual Type GetType () const;
// blending
enum SrcBlendFunction
{
SBF_ZERO,
SBF_ONE,
SBF_DST_COLOR,
SBF_ONE_MINUS_DST_COLOR,
SBF_SRC_ALPHA,
SBF_ONE_MINUS_SRC_ALPHA,
SBF_DST_ALPHA,
SBF_ONE_MINUS_DST_ALPHA,
SBF_SRC_ALPHA_SATURATE,
SBF_QUANTITY
};
enum DstBlendFunction
{
DBF_ZERO,
DBF_ONE,
DBF_SRC_COLOR,
DBF_ONE_MINUS_SRC_COLOR,
DBF_SRC_ALPHA,
DBF_ONE_MINUS_SRC_ALPHA,
DBF_DST_ALPHA,
DBF_ONE_MINUS_DST_ALPHA,
DBF_QUANTITY
};
bool& BlendEnabled ();
SrcBlendFunction& SrcBlend ();
DstBlendFunction& DstBlend ();
// testing
enum TestFunction
{
TF_NEVER,
TF_LESS,
TF_EQUAL,
TF_LEQUAL,
TF_GREATER,
TF_NOTEQUAL,
TF_GEQUAL,
TF_ALWAYS,
TF_QUANTITY
};
bool& TestEnabled ();
TestFunction& Test ();
MgcReal& Reference ();
protected:
bool m_bBlendEnabled;
SrcBlendFunction m_eSrcBlend;
DstBlendFunction m_eDstBlend;
bool m_bTestEnabled;
TestFunction m_eTest;
MgcReal m_fReference; // in [0,1]
};
MgcRegisterStream(MgcAlphaState);
#include "MgcAlphaState.inl"
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -