Friday, January 8, 2016

Infrastructure for a mini ray tracing book

I taught a graphics (mainly ray tracing) course at Westminster College here in Utah a year ago and have been meaning to turn my course notes into a mini-book.   There is a very good and extensive book that introduces ray tracing by Kevin Suffern called Ray Tracing from the Ground Up.   I am not doing a book like that-- Kevin's is excellent and I recommend it to anybody learning ray tracing.   My notes are going to be a lot more narrow.    One thing that has delayed me a year is that I don't want to get sucked down the "graphics design rat hole".   I like pretty books and papers, but that "look"  component of a project can really suck the energy out and make a lot of your work concerned with latex and illustrator and delay things indefinitely.   Here is my mental image for the graphics design rat hole (image by Menard from here):

At the left in brown is an author's energy at the beginning.   The big contractions are various fights with latex, illustrator, whatever.

But courses are often not that way.   Almost all of the time is actually communicating.   And in the time one "perfect" diagram is constructed, you instead fill 10 white boards.    I think this is one reason youtube lectures/notes are often so good-- the energy goes into content.

Another force is that if you want an e-book that works for low-vision people as well as all devices, you really DO NOT have control over appearance.   The path of least resistance is essentially a text file plus images.   And really, what's actually wrong with that?   It avoids the graphics design rat hole!

What finally pushed me over the edge was seeing some of my class notes from my undergraduate physics classes by Richard Crandall and Nic Wheeler.   They were typed or hand-written with hand drawings.   Like old SIGGRAPH papers!    And they suffered 0% from this.   In fact they had an artisan quality that was appealing to me.

So I ask myself the extreme programming kind of question: what is the simplest way I could make an e-book?   

For images I could hand draw on paper, hand draw on a white board, or do the virtual of each.   Ever since I used limnu on an iPad Pro I have been making that my first choice.   Scrollable and editable and easier to get a digital image file.   For the text Pages or Word or google docs would all be fine.   The the first question is what hardware/software infrastructure for a "writing pipeline"?   Limnu runs everywhere so it is really a question of stylus.   First in class appears to be iPad Pro.    But if I am typing a windows10 box with a touch screen is attractive, and the workflow might be smoother.   I decided to go with an iPad Pro, but to my dismay the styluses are back-orders for over a month.   So I walked over to the Microsoft Store and ALMOST bought a SufaceBook.   It was super-attractive.   What did me in was cost-- once you add in Word and the GPU and enough memory it is pricey.   So I retreated and again asked "what is the simplest thing I could do?"   Answer for that is a children's wacom tablet (under $100) hooked to my laptop.    I just did a quick test and it is definitely NOT as fun as an iPad Pro but plenty good enough;  here's my test:
Quick test of limnu with a kid's wacom tablet
Next I will test Pages versus google docs for workflow and get rolling!

PS-- I checked the web and Nic Wheeler's hand-written physics notes are discussed and one of them is online.   He also did move to latex later it appears which does have the big advantage of being editable.    Nic gave me a 2D computer ray tracing assignment in 1984 and I was hooked and I often refer to his hand-written optics notes.


Jono said...

Wait, didn't you already write a nice ray-tracing book? :)

Peter Shirley said...

Good point. This one is short and for a different audience. I actually did manage to finish it last night. Once I debug it I'll get it on the kindle store.