33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
|
using System;
|
||
|
using OpenTK.Graphics;
|
||
|
using OpenTK;
|
||
|
namespace RecrownedAthenaeum.Types {
|
||
|
public static class Color4Ext {
|
||
|
public static byte GetRedAsByte(this Color4 color) {
|
||
|
return (byte) (color.R * Byte.MaxValue);
|
||
|
}
|
||
|
public static byte GetGreenAsByte(this Color4 color) {
|
||
|
return (byte) (color.G * Byte.MaxValue);
|
||
|
}
|
||
|
public static byte GetBlueAsByte(this Color4 color) {
|
||
|
return (byte) (color.B * Byte.MaxValue);
|
||
|
}
|
||
|
public static byte GetAlphaAsByte(this Color4 color) {
|
||
|
return (byte) (color.A * Byte.MaxValue);
|
||
|
}
|
||
|
public static void MultiplyByFloat(this Color4 color, float val) {
|
||
|
color.A *= val;
|
||
|
color.R *= val;
|
||
|
color.G *= val;
|
||
|
color.B *= val;
|
||
|
}
|
||
|
public static Color4 ReturnMultipliedByFloat(this Color4 color, float val) {
|
||
|
Color4 output = new Color4(color.R * val, color.G * val, color.B * val, color.A * val);
|
||
|
return output;
|
||
|
}
|
||
|
public static void FromNonPremultiplied(ref Vector4 vector) {
|
||
|
//Premultiplied.
|
||
|
vector = new Vector4(vector.W * vector.X, vector.W * vector.Y, vector.W * vector.Z, vector.W);
|
||
|
}
|
||
|
}
|
||
|
}
|