public static void SetGL(this PICABlendFunction BlendFunction) { GL.BlendEquationSeparate( BlendFunction.ColorEquation.ToBlendEquation(), BlendFunction.AlphaEquation.ToBlendEquation()); GL.BlendFuncSeparate( BlendFunction.ColorSrcFunc.ToBlendingFactorSrc(), BlendFunction.ColorDstFunc.ToBlendingFactorDest(), BlendFunction.AlphaSrcFunc.ToBlendingFactorSrc(), BlendFunction.AlphaDstFunc.ToBlendingFactorDest()); }
void ICustomSerialization.Deserialize(BinaryDeserializer Deserializer) { PICACommandReader Reader = new PICACommandReader(Commands); while (Reader.HasCommand) { PICACommand Cmd = Reader.GetCommand(); uint Param = Cmd.Parameters[0]; switch (Cmd.Register) { case PICARegister.GPUREG_COLOR_OPERATION: ColorOperation = new PICAColorOperation(Param); break; case PICARegister.GPUREG_BLEND_FUNC: Function = new PICABlendFunction(Param); break; case PICARegister.GPUREG_LOGIC_OP: LogicalOperation = (PICALogicalOp)(Param & 0xf); break; case PICARegister.GPUREG_BLEND_COLOR: Color = new RGBA(Param); break; } } }