Logo
BlendInfo.h
1#pragma once
2#include "gfx/GfxTypes.h"
3
4namespace XXSharpKmyGfx
5{
6 private value struct BlendInfo
7 {
8 public:
9 bool blend;
10 BlendFactor srcColor, dstColor;
11 EquationType colorEquation;
12 BlendFactor srcAlpha, dstAlpha;
13 EquationType alphaEquation;
14
15 static BlendInfo noBlend()
16 {
17 BlendInfo r;
18 r.blend = false;
19 r.srcColor = BlendFactor::One;
20 r.dstColor = BlendFactor::Zero;
21 r.colorEquation = EquationType::Add;
22 r.srcAlpha = BlendFactor::One;
23 r.dstAlpha = BlendFactor::Zero;
24 r.alphaEquation = EquationType::Add;
25 return r;
26 }
27
28 static BlendInfo alphaBlend()
29 {
30 BlendInfo r;
31 r.blend = true;
32 r.srcColor = BlendFactor::SrcAlpha;
33 r.dstColor = BlendFactor::OneMinusSrcAlpha;
34 r.colorEquation = EquationType::Add;
35 r.srcAlpha = BlendFactor::One;
36 r.dstAlpha = BlendFactor::One;
37 r.alphaEquation = EquationType::Add;
38 return r;
39 }
40 };
41}
BlendFactor
Definition: GfxTypes.cs:20
EquationType
Definition: GfxTypes.cs:34