public LogicOp Operation; // Seems to be logic operators such as clear, and, copy, equiv, inv, invand, etc. public BlendMode(Enums.BlendMode type, BlendModeControl src, BlendModeControl dest, LogicOp operation) { Type = type; SourceFact = src; DestinationFact = dest; Operation = operation; }
public BlendMode(EndianBinaryReader reader) { Type = (Enums.BlendMode)reader.ReadByte(); SourceFact = (BlendModeControl)reader.ReadByte(); DestinationFact = (BlendModeControl)reader.ReadByte(); Operation = (LogicOp)reader.ReadByte(); }
public static BlendingFactor GetBlendFactorSrc(BlendModeControl sourceFactor) { switch (sourceFactor) { case BlendModeControl.Zero: return(BlendingFactor.Zero); case BlendModeControl.One: return(BlendingFactor.One); case BlendModeControl.SrcColor: return(BlendingFactor.SrcColor); case BlendModeControl.InverseSrcColor: return(BlendingFactor.OneMinusSrcColor); case BlendModeControl.SrcAlpha: return(BlendingFactor.SrcAlpha); case BlendModeControl.InverseSrcAlpha: return(BlendingFactor.OneMinusSrcAlpha); case BlendModeControl.DstAlpha: return(BlendingFactor.DstAlpha); case BlendModeControl.InverseDstAlpha: return(BlendingFactor.OneMinusDstAlpha); default: Console.WriteLine("Unsupported GXBlendModeControl: \"{0}\" in GetOpenGLBlendSrc!", sourceFactor); return(BlendingFactor.SrcAlpha); } }