Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r759 - trunk/Core/Color


Chronological Thread 
  • From: sparker@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [MANTA] r759 - trunk/Core/Color
  • Date: Fri, 9 Dec 2005 15:48:23 -0700 (MST)

Author: sparker
Date: Fri Dec  9 15:48:22 2005
New Revision: 759

Modified:
   trunk/Core/Color/ColorSpace.h
   trunk/Core/Color/RGBTraits.h
Log:
Added methods to get luminance


Modified: trunk/Core/Color/ColorSpace.h
==============================================================================
--- trunk/Core/Color/ColorSpace.h       (original)
+++ trunk/Core/Color/ColorSpace.h       Fri Dec  9 15:48:22 2005
@@ -204,6 +204,10 @@
           returnValue.data[i] = Exp(scale.data[i]*data[i]);
         return returnValue;
       }
+
+      ComponentType luminance() const {
+        return Traits::luminance(data);
+      }
   protected:
     // DO NOT MAKE THIS PUBLIC!
     ComponentType data[NumComponents];

Modified: trunk/Core/Color/RGBTraits.h
==============================================================================
--- trunk/Core/Color/RGBTraits.h        (original)
+++ trunk/Core/Color/RGBTraits.h        Fri Dec  9 15:48:22 2005
@@ -12,13 +12,13 @@
     enum {NumComponents = 3};
 
     // RGB
-    static void convertFrom(float data[3], const RGBColor& rgb) {
+    static void convertFrom(ComponentType data[3], const RGBColor& rgb) {
       data[0] = rgb.r();
       data[1] = rgb.g();
       data[2] = rgb.b();
     }
 
-    template <class C> static void convertFrom(float data[3], const C& 
color) {
+    template <class C> static void convertFrom(ComponentType data[3], const 
C& color) {
       RGBColor rgb;
       convertColor(rgb, color);
       data[0] = rgb.r();
@@ -27,15 +27,18 @@
     }
 
     // Everything else
-    static void convertTo(RGBColor& rgb, const float data[3]) {
+    static void convertTo(RGBColor& rgb, const ComponentType data[3]) {
       rgb = RGBColor(data[0], data[1], data[2]);
     }
 
-    template <class C> static void convertTo(C& color, const float data[3]) {
+    template <class C> static void convertTo(C& color, const ComponentType 
data[3]) {
       RGBColor rgb(data[0], data[1], data[2]);
       convertColor(color, rgb);
     }
 
+    static ComponentType luminance(const ComponentType data[3]) {
+      return data[0] * Real(0.3) + data[1] * Real(0.59) + data[2] * 
Real(0.11);
+    }
   };
 }
 




  • [MANTA] r759 - trunk/Core/Color, sparker, 12/09/2005

Archive powered by MHonArc 2.6.16.

Top of page