Author Archives: Eric

Graphics Conference Calendars

SIGGRAPH’s early registration deadline is June 4th, after that the price goes up $175 or so, depending. News of which made me look around for graphics conference calendars. I didn’t find much – if anyone knows of others, please do let me know.

The Upcoming Graphics Conferences page on wikidot lists most of the graphics conferences I know about, and tons I don’t. It doesn’t list HPG 2010, however. I wrote the website maintainer about this omission but it’s a week later and no response or update.

A handy schedule of computer graphics conferences is available from a student at the Max Planck Institute. This one’s handy for researchers, as it gives submission dates. Oddly, HPG 2010 is again missing.

3rd Edition now on Google Books

Naty just noticed that our latest edition is up on Google Books. It’s the usual deal, about 20% of the book is excerpted. Between this and Amazon’s Look Inside, a fair bit of the book is at your fingertips.

By the way, if you are the author of an out-of-print book, please do get it 100% up on Google Books, if you can. Even if it’s dated, it captures where the field was at a particular time – at the least you’re helping future archaeologists. First step is to get the rights back. Contact your publisher and ask. It’s not a high priority for any of them, but they usually have no reason to hold onto the rights and will freely return these, or so I’m told. After that, well, I’ve personally never done step two, but I’d hope it’s not an arduous process to get Google Books to list it. If anyone has experience in this area, please do speak up.

In other news, the Amazon Stock Market for our book had a sudden uptick. Interestingly, Barnes and Noble kicked its price up the same week. Just a coincidence, I’m sure. The May 10th uptick was no doubt due to Mother’s Day and the busy summer reading season; our book is a chick magnet when casually left out on your beach blanket.

SIGGRAPH 2010 Course Scheduling

One of the challenges of SIGGRAPH is doing it all. My own method is to take a sheet of lined paper (remember that stuff?) and make columns for the days, each line being a half hour. One whole sheet holds it all, vs. me dorking around with my Palm/phone/Touch/whatever, scrolling around to see what’s what. Old school, but it works great.

Anyway, Naty’s recent summary of courses didn’t have course times. Here goes, mostly for my own benefit, in time order. Bolded are the ones I personally plan to attend and why, FWIW:

Perceptually Motivated Graphics, Visualization, and 3D Displays – Sunday afternoon

Physically Based Shading Models in Film and Game Production – Sunday afternoon. Toss up for me between this and the previous course. Naty’s the only speaker for this one, so it’s tempting to go, just to see his head explode after lecturing for 3+ hours.

Stylized Rendering in Games – Monday morning. I’m particularly pumped for this one, having done NPR work this last year.

Recent Advances in Real-Time Collision and Proximity Computations for Games and Simulations – Monday afternoon

Color Enhancement and Rendering in Film and Game Production – Tuesday morning. Naty’s a speaker.

Filtered Importance Sampling for Production Rendering – Tuesday morning

An Introduction to 3D Spatial Interaction With Videogame Motion Controllers – Tuesday afternoon

Advances in Real-Time Rendering in 3D Graphics and Games – all Wednesday. Traditional course, usually quite good.

Volumetric Methods in Visual Effects – Wednesday morning

Gazing at Games: Using Eye Tracking to Control Virtual Characters – Wednesday afternoon

Beyond Programmable Shading – all Thursday. The DICE talk last year was amazing, the others were also worthwhile.

Advanced Techniques in Real-Time Hair Rendering and Simulation – Thursday morning

Global Illumination Across Industries – Thursday afternoon

The “Advances” course used to always be Monday. Which was terrible last year, as it was scheduled against the last day of the colocated HPG conference (not a problem this year, since HPG is in Europe alternate years). I suspect someone realized that putting Advances and Beyond next to each other, and alongside the exhibition floor days, was good for pulling in game devs. Anyway, looks to be a great set of courses, other than the risk of head explosion.

If you want something lighter to start with on Sunday, try Glassner’s “Processing for Visual Artists and Designers” course. The Processing language is easy to learn and fun for quick bit-twiddling or other 2D effects, with all the usual 2D primitives and mouse support (and much else) built in.

Voting Time!

If you’re an ACM member, this is a reminder that the ACM 2010 Council Election voting deadline is noon (EDT) on May 24th. So vote now. You’ll need the piece of paper mailed to you, along with your ACM membership number (find that here or look at the label of a CACM sent to you, if you don’t recall it). Voting itself takes a minute, tops. While you’re at it, vote in the ACM SIGGRAPH elections – deadline is June 4th. Who to vote for? Here’s Naty’s take. Disappointingly, very few candidates have responded so far to his questionnaire (a few candidates’ email addresses could not even be found, which is pretty sad).

I find voting theory fascinating, since there’s no perfect way to set up voting when there are more than two candidates, to name just one dilemma. I just noticed this book on Amazon, which I’ve put on reserve at the library – Poundstone’s books are usually entertaining.

Questionable Answers

So how did you answer the quiz yesterday? To all that commented, thanks, I enjoyed reading your replies. I see these questions as possible differentiators; you might be able to tell something about someone depending on their answers. Just a theory, though, and I’m sure there will be any number of people who will disagree – I’d love to hear other ideas. Anyway, these questions I find fun to test out on people, and I hope more of you will post your or others’ answers. If someone does a serious test for correlations, awesome!

RGB or RYB? Well, of course it’s RGB if you’re in computer graphics at all. I find this an interesting question to ask anyone. I think this question used to be a differentiator for computer graphics person vs. everyone else. RYB is what we learnt in school, the subtractive primaries used for paints, while RGB are the additive primaries used for lights. But with general computer and screen knowledge increasing, and a growing number of artists using computer programs, maybe this one is more technophile vs. technophobe?

+Y or +Z? For me, this used to be computer artist vs. CAD user, and maybe still is. SGI and Wavefront were definitely +Y, using the same model and world space up as view space up. For architects the plan view is an X/Y 2D sort of thing, so +Z is then extruding the plan view into 3D. This is certainly how AutoCAD’s file format evolved, starting out in 2D. Update: more about this topic here.

Green-yellowish or red-orangish? Chartreuse is green-yellow. I think this one can differentiate men from women, excluding liqueur-drinkers and people from France. All women I asked have chosen the right answer, as it’s a fabric color; a majority of men have not (including me). Interestingly enough, Crayola got this one wrong originally, in 1972, later renaming their color atomic tangerine. For more pretty entertaining color/sex correlations, see this xkcd blog post. His post inspired me to write down these four differentiator questions I’ve tried over the years. True confession: I spelled “fuchsia” wrong, too. Fuch-sia? Really? Let’s make a t-shirt, now on sale, though I can’t imagine anyone buying one. Update: more on this critical question here.

Bottom row or right column? This used to be a differentiator for computer graphics vs. mathematically trained, though there are some subtleties there (not all fields of math use right column). Nowadays it might be more DirectX vs. OpenGL. A key thing to realize is that, in the memory itself, both DirectX and OpenGL store the translation vector in the 13th, 14th, and 15th spots in the list of 16 memory locations – after that, it’s just notation. My theory is that you imprint on whichever one you first used, sort of like vi vs. emacs back in the day. Here are responses from 1993 on Usenet to this religious question, archived at Steve Hollasch’s wonderful collection of ancient but still-valid knowledge. There are posts there from one of the authors of OpenGL and many other graphics people. My favorite passage, from Robin Forrest, “Steve Coons used row vectors for his influential early papers on transformations (University of Michigan Summer Courses in the mid 60’s). I asked him why in 1967 and he said it was because it was easier for the stenographer to type row vectors!” The oddest thing I’ve seen in this area was a book on ray tracing where the first row contained the translation vector. Self-taught is not always a plus.

Thanks to all that commented; I’m glad to know I’m not the last person on earth putting my translations in the bottom row, where the gods intended them to be (that said, we use column major in our book, following most fields of math). If you have alternate theories as to What It All Means, post them. There are other questions out there with no correct answers, like left-handed vs. right-handed, but that particular one is somewhat ill-defined to ask. My own answer is right-handed for world space, left-handed for view matrices, usually, but I really don’t care, and then there’s upper left vs. lower left for the screen’s origin. Any other good questions out there?

Questionable Content

Here are a few questions, there are no right answers (except for the one with a right answer), and please choose the first answer that comes to you:

What are the primary colors?

A. Red, yellow, blue

B. Red, green, blue

You’re making a 3D model of some object. Which way is up in your world?

A. +Y

B. +Z

What color is chartreuse?

A. Green-yellowish

B. Red-orangish

You write out a 4×4 transform matrix to translate an object. You put the translation values:

A. in the bottom row

B. in the right column

All for now, my opinions and theories tomorrow (though feel free to comment before then).

Update: “answers” here.

7 Things for May 2

7 things, with images for each as some quick eye candy – is it worth my adding these images?

  • Here’s a nice rundown of much of the graphical goodness (and badness, e.g. temporal antialiasing) of the Halo: Reach beta. It’s worth a skim just to get a sense of the state of the art in a wide range of areas. The motion blur video appears to not be available currently. (thanks, Mauricio)
  • Unlimited Detail Technology is a voxel-based renderer with an interesting history: it was developed by a self-taught hobbyist who once ran a supermarket chain. There’s been interest in voxels for awhile, e.g. Jon Olick’s SIGGRAPH presentation in 2008 (slides here). Voxel rendering reminds me of the CPU-side heightfield renderer used in Novalogic’s Comanche and Delta Force game series from 1992 on. Novalogic’s was a 2.5 D system using contour following, while the Unlimited Detail system is full 3D voxels. Looking at UD’s presentations, it seems like a form of 3D clipmapping, where the level of detail of the voxels needed are determined by distance. The look reminds me of dribble sand castles. The coolest part: no GPU needed, it’s all CPU. I can imagine 18 limitations to this system: animation/deformation, sharp-edges not possible, shading models have limitations, transparency doesn’t work, textures are difficult to apply, fuzzy objects can’t be rendered, etc. Still, fun to see and a fascinating option. (another thanks, Mauricio)
  • The Ruin Island demo was created by some students in France. Parallax occlusion mapping, depth of field, NPR toon rendering, motion blur, glow and bloom, and more – it’s a grab-bag of effects in OpenGL. What’s nice is that the source code is provided. (Geeks3D)
  • Norbert Nopper has a small set of standalone OpenGL 3.2 and GLSL 1.5 tutorial programs with code for various effects. (Morgan McGuire)
  • The demoscene demo agenda circling forth uses particle clouds for a beautiful look. Note that the links for the video and demo are just under the image at the top of the page.
  • The photorealistic Octane Renderer uses CUDA for acceleration. To try it out you’ll need a fairly up-to-date NVIDIA driver, the demosuite, and the executable. It’s actually pretty cool to see the frameless rendering in action, it’s quite interactive for their simple scenes. There’s golden thread rendering: the longer you sit, the better the image gets. (Geeks3D)
  • 3D printing with ice. (BoingBoing)

Halo: Reach motion blur:

Unlimited Detail voxel image:

Ruin Island demo:

OpenGL 3.2 Nopper demo image:

agenda circling forth:

Octane Rendering, after 2 merged frames (interactive update) and after 5685 frames (a few minutes):

3D ice printing:

Another Introduction to Ray Tracing

I was waiting around a bit for my younger son’s doctor’s appointment this morning, so I decided to edit a book. I finished it just now, it’s called Another Introduction to Ray Tracing. It’s 471 pages in book form. You can download it for free, or order a paperback copy from PediaPress for $22.84 plus shipping. I won’t earn a dime from it, but since it took me less than two hours to make, no problem.

So what’s happening here? Due to investigating Alphascript and Betascript publishing a month ago, reporting it on Slashdot, and following up on a lot of great comments, I learnt a number of interesting tidbits. Here’s a rundown.

First, VDM Publishing itself is sort of a vanity press, but with no cost to the author. It seeks out authors of PhD theses and similar, asking for permission to publish. This is not all that unreasonable: because the works are only published on demand, the authors do not have to pay anything, they even get a few hardcopies for free. Here’s an example from our field that I reported on in February. That said, it’s mostly a win for VDM Publishing, who charge steep prices for the resulting works. Such not-quite-books mix in with other books on Amazon. It takes a bit of searching to realize that the work is a thesis and likely could be downloaded for free. A bit misleading, perhaps, but not all that horrifying. Caveat Emptor.

VDM Publishing also has an imprint called LAP, Lambert Academic Press, which does the same thing, publishing theses such as this one by Nasim Sedaghat. With a little Googling you can find Nasim, and then find the related paper for free.

VDM’s imprints Alphascript and Betascript Publishing I’ve already described, they’re little more than random repackagers of Wikipedia articles. Here’s an example book. I posted one-star reviews for a few of these books on Amazon; what’s funny is that the owner of the firm actually responded to my criticism (with a one-size-fits-all response in slightly broken English).

Four weeks ago Alphascript had 38,909 and Betascript 18,289 books listed on Amazon. To my surprise they now have 39,817 and 18,295 books, a total increase of only (only!) 914 new books – looks like they’re slowing down. They’ll have to work hard to catch up with Philip M. Parker’s 107,182 books or his publishing firm ICON Group International, with 473,668 books. The New York Times has an interesting article about this guy.

Betascript Publishing has two books found on Amazon related to ray tracing: Ray Tracing (Graphics) and Rasterization (which includes a section on ray tracing). The ray tracing book is 88 pages long and $46, more than 50 cents a page. My book, at $22.84 for 471 pages, is less than a nickel a page. So my new book’s better per pound. I actually worked a little compiling my book, making logical groupings, picking relevant articles, creating chapter headings, the whole nine yards (never did figure out how to make a cover from an existing Wikipedia image, though). The exercise showed me the limits of Wikipedia as a book-making resource: the individual articles are fine for what they are, some are wonderful, and editing them in a somewhat logical flow has some merit. However, there’s no coherence to the final product and there are large gaps between one article and the next. How to generate rays for a given camera? Sorry, not in my book.

Still, it was great to learn of PediaPress and the ability to make my own Wikipedia book for free. Poking around their site, I even found a book on 3D computer graphics, called 3D Computer Graphics (catchy, neh?). Seeing others making books, I decided to share my own, so now it’s official. Mind you, I haven’t actually read through my book, nor even really checked the flow of articles – no time for that. I mostly grouped by subject and title after identifying likely pages. That said, I do like having a PDF file of all these articles that I can search through.

Obviously authors are not about to be replaced by Betascript books any time soon. If you want to read a real introduction to the topic, a book like Ray Tracing from the Ground Up might serve you better, even if it is a whole dime a page. This cost/benefit ratio for a good book is something I’ll never get over, that books are sold at prices that are equivalent to the cost for just an hour or two for a computer programmer’s time and yet yield so much in the right hands.

7 Things for April 22

Quite the backlog, so let’s whip through some topics:

  • GDC: ancient news, I know, but here is a rundown from Vincent Scheib and a summary of trends from Mark DeLoura.
  • I like when people revisit various languages and see how fast they now are on newer hardware and more efficient implementations. Case in point: Quake 2 runs in a browser using javascript and WebGL.
  • Morgan McGuire pointed out this worthwhile article on stereoscopic graphics programming. Quick bits: frame tearing is very noticeable since it is visible to only one eye, vsync is important which may force lower-res rendering, making antialiasing all that much more important. UI elements on top look terribly 2D, and aim-point UI elements need to be given 3D depths. For their game MotorStorm, going 3D meant a lot more people liked using the first-person view, and this view with stereo helped perception of depth, obstacles, etc. There are also some intriguing ideas about using a single 2D image and reprojection using the depth buffer to get the second image (it mostly works…).
  • I happened to notice ShaderX 7 is now available on the Kindle. Looking further, quite a few other recent graphics books are. What’s odd is the differential in prices varies considerably: a Kindle ShaderX 7 is only $3.78 cheaper, while Fundamentals of Computer Graphics is $20 less.
  • Speaking of ShaderX, its successor GPU Pro is not out yet, but Wolfgang started a blog about it (really, just the Table of Contents), in addition to his other blog. The real news: you can use Amazon’s Look Inside feature to view the contents of the book right now!
  • Here are way too many multithreading resources.
  • In case you somehow missed it, you must see Pixels.