1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/framework/graphics/blendstate.hpp
2024-03-21 16:01:47 -03:00

33 lines
835 B
C++

#ifndef XNA_GRAPHICS_BLENDSTATE_HPP
#define XNA_GRAPHICS_BLENDSTATE_HPP
#include "../types.hpp"
#include "../forward.hpp"
#include "../enums.hpp"
namespace xna {
class IBlendState {
public:
virtual ~IBlendState(){}
static PBlendState Opaque();
static PBlendState AlphaBlend();
static PBlendState Additive();
static PBlendState NonPremultiplied();
virtual bool Apply(GraphicsDevice* device) = 0;
public:
bool _alphaToCoverage{ false };
bool _enabled{ true };
Blend _source{ Blend::SourceAlpha };
Blend _destination{ Blend::InverseSourceAlpha };
BlendOperation _operation{ BlendOperation::Add };
Blend _sourceAlpha{ Blend::One };
Blend _destinationAlpha{ Blend::Zero };
BlendOperation _operationAlpha{ BlendOperation::Add };
ColorWriteChannels _writeMask{ ColorWriteChannels::All };
};
}
#endif