Difference between revisions of "Reference:Colors.inc"

From POV-Wiki
Jump to navigation Jump to search
m (version changes)
Line 33: Line 33:
 
<li><code>HSL</code> = &lt; Hue, Saturation, Lightness, Filter, Transmit &gt;</li>
 
<li><code>HSL</code> = &lt; Hue, Saturation, Lightness, Filter, Transmit &gt;</li>
 
<li><code>HSV</code> = &lt; Hue, Saturation, Value, Filter, Transmit &gt;</li>
 
<li><code>HSV</code> = &lt; Hue, Saturation, Value, Filter, Transmit &gt;</li>
<li><code>XYZ</code> = &lt; X, Y, Z, Filter, Transmit &gt; (CIEXYZ; {{New}} in 3.7.1)</li>
+
<li><code>XYZ</code> = &lt; X, Y, Z, Filter, Transmit &gt; (CIEXYZ; {{New}} in 3.8)</li>
<li><code>Lab</code> = &lt; Lightness L*, Chroma a*, Chroma b* &gt; (more accurately L*a*b*, CIELAB; {{New}} in 3.7.1)</li>
+
<li><code>Lab</code> = &lt; Lightness L*, Chroma a*, Chroma b* &gt; (more accurately L*a*b*, CIELAB; {{New}} in 3.8)</li>
 
</ul>
 
</ul>
 
<p class="Note"><strong>Note:</strong> The Hue parameter is given in degrees.</p>
 
<p class="Note"><strong>Note:</strong> The Hue parameter is given in degrees.</p>

Revision as of 10:22, 26 June 2017

This file is mainly a list of predefined colors, but also has a few color manipulation macros.

Predefined colors

This file contains 125 predefined colors that you can use in your scenes. Simply #include them in your scene file to use them:

  #include "colors.inc"

These basic colors:

  • Red
  • Green
  • Blue
  • Yellow
  • Cyan
  • Magenta
  • Clear
  • White
  • Black

A series of percentage grays that are useful for fine-tuning lighting color values and for other areas where subtle variations of grays are needed, and a palette of over 100 additional color definitions are available. See the distribution file ~include/colors.inc for more details.

Color macros

In POV-Ray all colors are handled in RGB color space with a component for the amount of red, green and blue light. However, not everybody thinks this is the most intuitive way to specify colors. For your convenience there are macros included in colors.inc that converts between a few different types of color spaces.

The supported color spaces:

  • RGB = < Red, Green, Blue, Filter, Transmit >
  • HSL = < Hue, Saturation, Lightness, Filter, Transmit >
  • HSV = < Hue, Saturation, Value, Filter, Transmit >
  • XYZ = < X, Y, Z, Filter, Transmit > (CIEXYZ; New in 3.8)
  • Lab = < Lightness L*, Chroma a*, Chroma b* > (more accurately L*a*b*, CIELAB; New in 3.8)

Note: The Hue parameter is given in degrees.

CHSL2RGB(Color): Converts a color given in HSL space to one in RGB space.

Parameters:

  • Color = HSL color to be converted.

CRGB2HSL(Color): Converts a color given in RGB space to one in HSL space.

Parameters:

  • Color = RGB color to be converted.

CHSV2RGB(Color): Converts a color given in HSV space to one in RGB space.

Parameters:

  • Color = HSV color to be converted.

CRGB2HSV(Color): Converts a color given in RGB space to one in HSV space.

Parameters:

  • Color = RGB color to be converted.

CXYZ2RGB(Color): Converts a color given in XYZ space to one in RGB space.

Parameters:

  • Color = XYZ color to be converted.

CRGB2XYZ(Color): Converts a color given in RGB space to one in XYZ space.

Parameters:

  • Color = RGB color to be converted.

CLab2RGB(Color,WhiteXYZ): Converts a color given in Lab space to one in RGB space.

Parameters:

  • Color = Lab color to be converted.
  • WhiteXYZ = XYZ color of the chosen L*a*b* variant's reference white point.

CRGB2Lab(Color,WhiteXYZ): Converts a color given in RGB space to one in Lab space.

Parameters:

  • Color = RGB color to be converted.
  • WhiteXYZ = XYZ color of the chosen L*a*b* variant's reference white point.

CLab2RGB_D65(Color): Converts a color given in Lab space (using D65 as reference white point) to one in RGB space.

Parameters:

  • Color = Lab color to be converted.

CRGB2Lab_D65(Color): Converts a color given in RGB space to one in Lab space (using D65 as reference white point).

Parameters:

  • Color = RGB color to be converted.