X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FColor.java;h=0756209004ace4f3acf15d41f95e0872cc69a11b;hb=38c759f87fc7de47d9dee60088f2dbc60e0a55fb;hp=1e92da9c193d5052b3ed0963a27948308042f76a;hpb=65af4342c4259d9b99de31a65be58cb1ec4e524d;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Color.java b/src/kaka/cakelight/Color.java index 1e92da9..0756209 100644 --- a/src/kaka/cakelight/Color.java +++ b/src/kaka/cakelight/Color.java @@ -1,6 +1,14 @@ package kaka.cakelight; public class Color { + private static int[] gammaCorrection = new int[256]; + + public static void calculateGammaCorrection(double gamma) { + for (int i = 0, max = 255; i <= max; i++) { + gammaCorrection[i] = (int)(Math.pow((double)i / max, gamma) * max); + } + } + private int r, g, b; public static Color rgb(double r, double g, double b) { @@ -35,15 +43,15 @@ public class Color { } public int r() { - return r; + return gammaCorrection[r]; } public int g() { - return g; + return gammaCorrection[g]; } public int b() { - return b; + return gammaCorrection[b]; } public Color interpolate(Color other, double value) {