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