From Wakapon
Jump to: navigation, search
(Created page with '=The Color Pipeline : A Compendium of colorimetry and light perception for the Computer Graphics programmer= This article has 3 knowledge levels : * The first level is this arti…')
 
Line 2: Line 2:
  
 
This article has 3 knowledge levels :
 
This article has 3 knowledge levels :
* The first level is this article itself, which is going to attempt to sum up what I could grasp of the vast subject (!!) that is color perception
+
* The first level is the article itself, which is going to attempt to sum up what I could grasp of the vast subject (!!) that is color perception
 
* The article will sometimes refer to another page called [[Colorimetry]] where technical informations regarding specific details are available
 
* The article will sometimes refer to another page called [[Colorimetry]] where technical informations regarding specific details are available
 
* The [[Colorimetry]] page itself will sometimes refer to even more detailed informations and equations that will help performing various tasks
 
* The [[Colorimetry]] page itself will sometimes refer to even more detailed informations and equations that will help performing various tasks
  
 
This article is a poor attempt at gathering all the important notions and is a digest of the enormous amount of available informations about colors, color spaces, color profiles, color corrections, color grabbing and color display.
 
This article is a poor attempt at gathering all the important notions and is a digest of the enormous amount of available informations about colors, color spaces, color profiles, color corrections, color grabbing and color display.
 
 
//Color management, from
 
  
 
=Color Spaces=
 
=Color Spaces=
 
==RGB==
 
==RGB==
 
==XYZ==
 
==XYZ==
 +
 +
//Color management, from
  
 
=Quick overview of the pipeline=
 
=Quick overview of the pipeline=
 +
The typical color pipeline for a photographer would imply the acquisition by a camera, storage to the disk (usually in JPEG or RAW), processing (in Photoshop or Gimp) then perhaps another storage and finally a hard print to paper.
 +
 +
In CG, the pipeline is quite larger and no longer limited to a single unique pipeline since images can come from different sources (a camera, a hand-painted texture, a rendering software).
 +
 +
Typically, you have the following scenarii for image generation:
 +
:Real Scene → Camera → Storage (real scene acquisition scenario)
 +
:Photoshop → Storage (hand-painted scenario)
 +
:Renderer → Storage (generated scenario)
 +
 +
Then, you have optionally one or more instances of the processing stage:
 +
:Storage → Photoshop → Storage
 +
 +
Finally, the main pipeline:
 +
:Storage → 3D Renderer → Frame Buffer → Display
 +
 +
 +
The ultimate goal is obviously to finally display the exact same color (perceptually speaking) than the one that was originally captured/painted. And to generate the most photorealistic images possible.
 +
 +
It would be easy if:
 +
* The camera could have the same adaptation range as the eye and store the luminance in a lossless HDR format.
 +
* All the various stages in these pipelines would work in linear-space colors.
 +
* The display device could render the same luminance levels as the ones stored by the camera.
 +
 +
Unfortunately, there are various clipping, compression and transform limitations in each of the described stages.
 +
 +
 
==Acquisition==
 
==Acquisition==
 +
The color acquisition by a camera
 +
 
==Storage==
 
==Storage==
 +
==Processing==
 +
Photoshop
 
==Loading==
 
==Loading==
 
==Lighting==
 
==Lighting==
Line 29: Line 58:
 
=Color Storage=
 
=Color Storage=
 
==Color Profiles==
 
==Color Profiles==
 +
When editing an image, there will be a color profile that the image is currently in. This is called your "working profile" or "working color space."  There are three primary working spaces when editing images in Adobe Photoshop: ProfotoRGB, AdobeRGB, and sRGB. These are ICC profiles designed to be assigned to out-of-camera image files.
 +
 +
When shooting in RAW mode, the color space setting on your camera is essentially an afterthought, since you will be selecting your working space when converting the RAW to an editable file.  However, if you are shooting JPEG, it is important to set the ideal setting for color space in your camera. (Source: http://www.steves-digicams.com/knowledge-center/color-management-picking-the-right-working-space.html)
 +
 
==Gamma Correction==
 
==Gamma Correction==
 +
==Formats==
 +
===JPEG===
 +
===PNG===
 +
===TGA===
 +
===TIFF===
 +
===HDR===
 +
  
 
=Color Loading=
 
=Color Loading=

Revision as of 22:16, 29 December 2011

The Color Pipeline : A Compendium of colorimetry and light perception for the Computer Graphics programmer

This article has 3 knowledge levels :

  • The first level is the article itself, which is going to attempt to sum up what I could grasp of the vast subject (!!) that is color perception
  • The article will sometimes refer to another page called Colorimetry where technical informations regarding specific details are available
  • The Colorimetry page itself will sometimes refer to even more detailed informations and equations that will help performing various tasks

This article is a poor attempt at gathering all the important notions and is a digest of the enormous amount of available informations about colors, color spaces, color profiles, color corrections, color grabbing and color display.

Color Spaces

RGB

XYZ

//Color management, from

Quick overview of the pipeline

The typical color pipeline for a photographer would imply the acquisition by a camera, storage to the disk (usually in JPEG or RAW), processing (in Photoshop or Gimp) then perhaps another storage and finally a hard print to paper.

In CG, the pipeline is quite larger and no longer limited to a single unique pipeline since images can come from different sources (a camera, a hand-painted texture, a rendering software).

Typically, you have the following scenarii for image generation:

Real Scene → Camera → Storage (real scene acquisition scenario)
Photoshop → Storage (hand-painted scenario)
Renderer → Storage (generated scenario)

Then, you have optionally one or more instances of the processing stage:

Storage → Photoshop → Storage

Finally, the main pipeline:

Storage → 3D Renderer → Frame Buffer → Display


The ultimate goal is obviously to finally display the exact same color (perceptually speaking) than the one that was originally captured/painted. And to generate the most photorealistic images possible.

It would be easy if:

  • The camera could have the same adaptation range as the eye and store the luminance in a lossless HDR format.
  • All the various stages in these pipelines would work in linear-space colors.
  • The display device could render the same luminance levels as the ones stored by the camera.

Unfortunately, there are various clipping, compression and transform limitations in each of the described stages.


Acquisition

The color acquisition by a camera

Storage

Processing

Photoshop

Loading

Lighting

Writing

Displaying

Color Acquisition

Taking a Picture

Artist Painting

Color Storage

Color Profiles

When editing an image, there will be a color profile that the image is currently in. This is called your "working profile" or "working color space." There are three primary working spaces when editing images in Adobe Photoshop: ProfotoRGB, AdobeRGB, and sRGB. These are ICC profiles designed to be assigned to out-of-camera image files.

When shooting in RAW mode, the color space setting on your camera is essentially an afterthought, since you will be selecting your working space when converting the RAW to an editable file. However, if you are shooting JPEG, it is important to set the ideal setting for color space in your camera. (Source: http://www.steves-digicams.com/knowledge-center/color-management-picking-the-right-working-space.html)

Gamma Correction

Formats

JPEG

PNG

TGA

TIFF

HDR

Color Loading

Very important !

We Want Linear Space

Fixing Things

Nuaj' Code

The bitmap class

Lighting in Linear Space

Writing (to the FrameBuffer)

Monitor display

CRT

LCD

Plasma