Weekends are a great chunk of time to get a significant project done, and limiting it to a weekend helps to stay on task. This blog is inspired by a how-to book on ray tracing, but that is just the initial driving example.
Sunday, March 27, 2016
Learn Quartz Composer in One Weekend
Quartz composer (QC) is an interactive dataflow language from Apple (you need MacOS to run it). I prototype many things in QC because it is very easy to do many things like test image processing functions by feeding the web cam into it. Facebook prototypes their apps on a version of QC they have extended for their purposes. Lots of people, including me, love it. However, visual dataflow a pretty different way of programming and there are also conventions in QC that that are easy, but somebody needs to show them to you. I spent about a week learning QC to the point where I could do something useful because I was a bit overwhelmed by all of the documentation out there. However, key was I found an almost perfect set of youtube videos by Rob Duarte. Go through these videos on Day 1, and be sure to follow each one and actually duplicate his compositions as you go. On Day 2, do your own project. I, for example, did face detection on the webcam and then added devil horns. That was a really easy project in QC because there is a face detection module build in.
Thursday, March 24, 2016
Ray Tracing: The Rest of Your Life
Ray Tracing: The Rest Of Your Life (Ray Tracing Minibooks Book 3)
Chapter 0 Overview
This page is for further reading and a page to comment on. This book is for people who have already written a ray tracer as an entry portal into the world of graphics research. So this book has a narrower audience than the previous two mini-books. It covers a path tracer's probabilistic sampling in enough detail to get people up to speed to follow the literature and rendering trends.
Chapter 1: A Simple Monte Carlo Program
Don Mitchell has a nice paper on how jittering changes convergence rates.
Chapter 2: Monte Carlo Integration
Chapter 3: Light Scattering
Chapter 4: Importance Sampling Methods
Chapter 5: Generating Random Directions
Chapter 6: Ortho-normal Bases
A very nice little trick on quickly generating ONBs
Chapter 7: Sampling Lights Directly
Chapter 8: Mixture Densities
Chapter 9: Some Architectural Decisions
Chapter 10: Cleaning Up Pdf Management
Chapter 11: The Rest of Your Life
Rendering is a mature enough field that there are several good book on it now. First I would get yourself a copy of this book:
Physically Based Rendering, Third Edition: From Theory To Implementation
I used it as a text in my course instead of my own book. It is that good!
This is another extremely good book on physically based rendering:
Advanced Global Illumination, Second Edition
This book is older, but it mostly covers topics that don't age and I would definitely get a copy. It's treatment of the math topics useful in graphics are my favorite (for example the basis function discussion is amazing): (update-- it is free online!)
Principles of Digital Image Synthesis (The Morgan Kaufmann Series in Computer Graphics) 2 Volume Set
You will want to start putting out high dynamic range images. You are already computing them! This book is a very good discussion of high dynamic range issues:
High Dynamic Range Imaging, Second Edition: Acquisition, Display, and Image-Based Lighting
This is another older book. It's still got some gold in it, and if you're gonna stay in the area long-haul then I would buy it:
An Introduction to Ray Tracing (The Morgan Kaufmann Series in Computer Graphics)
Henrik Jensen has a very nice book on photon mapping that is also just a good book on physically-based rendering. Realistic Image Synthesis Using Photon Mapping 2nd Revised edition by Jensen, Henrik Wann (2001) Paperback