Other related links in this section:
Ray Tracer
Tone Mapper
Stereograms
Contact Me
Email: penny@penny.id.au
|
|
What is Tone Mapping?
|
|
The short answer to this question is that Tone Mapping is the process of manipulating the output of a ray tracer, in order to compress the colour values into a certain dynamic range.
The long answer is that a ray tracer is a computer program that takes a model of a world (which may be as simple as a sphere sitting on a flat surface) and produces an image of how it ought to look. It does this by analysing every part of the world that you can see from the camera, and calculating all the light rays that would hit that particular point. It then calculates the brightness of that point and uses these values to generate a realistic image of the world.
Since the ray tracer is adding up light from several different sources to calculate the brightness, there is no real limit to the brightness values that could be produced. However, there is a physical limit to how bright a point can be on your screen (for example, you could never display anything on your computer screen that looked like a light was shining directly at you). For this reason, graphical file formats - GIF, JPG, BMP etc - only store brightnesses between 0 and 255.
This means that there is a need for some sort of program to take the output of the ray tracer and reduce the brightess of each pixel to be no larger than 255. This is what a Tone Mapper does. Some Tone Mappers only perform simple operations such as trimming the overflowing values, or scaling all the values down. Others use complex algorithms to produce the best output for the input picture.
|
|
|
Background
|
|
Back to Top
|
In 2001, when I was in my first year of university at UTS, I heard about the Apple University Consortium's (AUC) seeding grant program. They were asking for students of AUC universities to propose programming projects for the Mac. They would then choose the most interesting projects and "seed" those students with a new iMac for at least a year.
After several discussions with Dr. Kevin Suffern - a graphics lecturer and AUC representative at UTS - I wrote a proposal for developing a simple Tone Mapper and submitted it. The AUC selected me as a seeding grant recipient and I was soon sitting at my brand new iMac, learning to program in Java/Cocoa.
In 2002 and 2003, the AUC very kindly sent me to Apple's WorldWide Developers' Conference in San Jose and San Francisco, respectively. At these conferences, I acquired a large amount of programming knowledge that I then applied to my ToneMapping project and other Mac development.
|
|
|
The Program
|
|
Back to Top
|
Version 1.0 of the software is now available for download. The server on which these files are hosted is not the same one as the one on which this page is hosted, and it is unfortunately unreliable. If you have trouble downloading the files, please try again later or contact me.
Compiled and tested in Java/Cocoa under OS 10.2 using Apple's Project and Interface Builders. An XCode version may be coming soon.
Download (with source code and sample images):
- ToneMapper.dmg (1.34MB)
Here are some screenshots of the program. Click the images to view them full-size.
|
|
|
Links
|
|
Back to Top
|
|
|
|