| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #include "CmBlendState.h"
- #include "CmRenderStateManager.h"
- namespace CamelotEngine
- {
- void BlendState::initialize(const BLEND_STATE_DESC& desc)
- {
- mData = desc;
- }
- bool BlendState::getBlendEnable(UINT32 renderTargetIdx) const
- {
- assert(renderTargetIdx >= 0 && renderTargetIdx < CM_MAX_MULTIPLE_RENDER_TARGETS);
- return mData.renderTargetDesc[renderTargetIdx].blendEnable;
- }
- SceneBlendFactor BlendState::getSrcBlend(UINT32 renderTargetIdx) const
- {
- assert(renderTargetIdx >= 0 && renderTargetIdx < CM_MAX_MULTIPLE_RENDER_TARGETS);
- return mData.renderTargetDesc[renderTargetIdx].srcBlend;
- }
- SceneBlendFactor BlendState::getDstBlend(UINT32 renderTargetIdx) const
- {
- assert(renderTargetIdx >= 0 && renderTargetIdx < CM_MAX_MULTIPLE_RENDER_TARGETS);
- return mData.renderTargetDesc[renderTargetIdx].dstBlend;
- }
- SceneBlendOperation BlendState::getBlendOperation(UINT32 renderTargetIdx) const
- {
- assert(renderTargetIdx >= 0 && renderTargetIdx < CM_MAX_MULTIPLE_RENDER_TARGETS);
- return mData.renderTargetDesc[renderTargetIdx].blendOp;
- }
- SceneBlendFactor BlendState::getAlphaSrcBlend(UINT32 renderTargetIdx) const
- {
- assert(renderTargetIdx >= 0 && renderTargetIdx < CM_MAX_MULTIPLE_RENDER_TARGETS);
- return mData.renderTargetDesc[renderTargetIdx].srcBlendAlpha;
- }
- SceneBlendFactor BlendState::getAlphaDstBlend(UINT32 renderTargetIdx) const
- {
- assert(renderTargetIdx >= 0 && renderTargetIdx < CM_MAX_MULTIPLE_RENDER_TARGETS);
-
- return mData.renderTargetDesc[renderTargetIdx].dstBlendAlpha;
- }
- SceneBlendOperation BlendState::getAlphaBlendOperation(UINT32 renderTargetIdx) const
- {
- assert(renderTargetIdx >= 0 && renderTargetIdx < CM_MAX_MULTIPLE_RENDER_TARGETS);
- return mData.renderTargetDesc[renderTargetIdx].blendOpAlpha;
- }
- UINT8 BlendState::getRenderTargetWriteMask(UINT32 renderTargetIdx) const
- {
- assert(renderTargetIdx >= 0 && renderTargetIdx < CM_MAX_MULTIPLE_RENDER_TARGETS);
- return mData.renderTargetDesc[renderTargetIdx].renderTargetWriteMask;
- }
- BlendStatePtr BlendState::create(const BLEND_STATE_DESC& desc)
- {
- return RenderStateManager::instance().createBlendState(desc);
- }
- }
|