Now How Much Would You Pay?

In the past few week I’ve learned of a number of ways to access our book’s content. Some are just plain new, others I simply didn’t know about. Here’s a summary of sources I know, listed from lowest to highest price.

I’ve heard we’ll eventually have a “rent for six months” option for the Kindle version, which makes sense for students. Frankly, the Kindle and Google prices hit me as high: you don’t actually own anything, in the sense that you can’t sell it later. Our publisher says Amazon controls their Kindle price – beats me how that works. On the other hand, electronic versions have the advantages of weight (none extra) and searchability. Me, I love having my own internal PDF version of the book that I can search and copy & paste from. It’s unfortunate that PDFs are too easy to pass on to others.

Personally, I like the Google eBook and Books24x7 concept the best, where you can access the book from any web browser by simply logging in (no installation needed, no need to authorize the device, etc.). This method of access seems to be at a good balance point between reader usability and author/publisher protection.

The Graphics Codex app is now available

The Graphics Codex is a little $3.99 Apple app developed by Morgan McGuire, a noted researcher and practitioner in graphics, especially interactive graphics. He’s written numerous research papers and a number of books on videogame development, consults for NVIDIA, teaches at Williams College, and has worked on games such as Titan Quest (recently named #65 in PC Gamer’s top 100 games of all time). From talking with him, the Graphics Codex is basically his reference notebook. It holds the compact nuggets of knowledge he wants to have instantly available at his fingertips (literally, since it’s an iPad/iPhone app; it also runs on iPods running iOS 5.x).

This Graphics Codex been available for a few weeks, but this new version, 1.2, has faster scrolling and display, among other features. Morgan felt this was an important improvement so I’ve been holding off blogging about the app. Upgrades are free and simple, as with most apps. Morgan says he’s working on version 1.3, which will focus on iOS 5.1 support, color theory, and diagrams useful for explaining computer graphics topics.

So, what is it? Well, let’s start with pictures:

We all have our own favorite pieces of information we like to see included. This codex fits me pretty well: I see the reflection and refraction formulas, and various matrix types described (perspective, rotation, scale, translation, skew, determinants, etc.). I see handy things like the formatting for printf, and the latex and HTML codes for Greek letters and for math symbols. I see pseudocode for object/object intersection and distance formulas, as well as various common sorting algorithms. I see raster and 3D file formats (nicely linking to original documents on the web, when available). That’s just for starters.

There are a lot of topics included, and you can see the whole list before purchasing. In the app topics are listed alphabetically, index-style, but that’s fine, as the normal way to access this work is to search the index. Some topics I don’t know a thing about, which is great – knowing what you don’t know is important. Seeing some of these concepts inspires me to learn about them (elsewhere – like I say, this app is a reference, not a textbook). Some topics I may rarely or never look at, such as the examples shown in the images above, but I like knowing they’re there. Given that the author is a professor and consultant, I understand why they exist: these are teaching aids, information you can easily pull up and show a student, client, or other developer to help explain a concept or algorithm.

That said, there are some minor gaps. Things that came to mind for me to test but that I didn’t find: compositing (“over”, etc.), sampling and filtering (e.g. sinc and Gaussian curves), dithering (but when did I last use that?), and regular expressions (which admittedly sometimes have variations between computer languages). There’s other stuff I wouldn’t mind having: all HTML letter codes, a decimal/hexadecimal table, etc., but these are trivial to find & bookmark from sites on the web. Some domain-specific things like the various architectural projections (e.g., the various axonometric projections) would be nice, but that’s very specific to me and Wikipedia mostly fills the gap. Someday I imagine there could be a framework for such codex apps to allow you to add your own index entries, similar to how you can make your own reference work on Wikipedia (update: Morgan notes that this feature exists for his app, it’s called “email him and ask for a topic to be added”). The difference is that this app gives you the core, relevant ideas and algorithms of computer graphics in a usable form, with a consistent style, and cross-referenced to only directly relevant articles. A single author and editor, focused on a single area, adds considerable value.

This is not the first time someone has collected such reference entries. The most direct “competitor” that comes to mind is Phil Dutre’s great Global Illumination Compendium. This is a free PDF, go get it. Its focus is indeed global illumination, and it’s quite an extensive reference in this area. I would say there’s about a 25% overlap with the Graphics Codex. Another resource that comes to mind is Steve Hollasch’s collection of USENET articles, free on the web. This collection is a bit ancient, but math and physical formulas don’t change quickly. It’s a pretty shotgun-scattered set of articles, more like Graphics Gemlets, but an interesting place to wander through and try for information.

Back to the Graphics Codex. Each index entry is nicely formatted and readable, and every page (except the Bibliography, which I have reported as a bug) can be made larger or smaller. This larger/smaller functionality works well, reformatting the entry to be fully visible side-to-side, vs. typical PDF zoom, where the page can become wider than the display.

All the entries are aimed to be for reference, such as hard information that you basically understand but want to get the precise formula or code. This is information you could eventually find on your bookshelf or on the web, but instead is quickly available for you by simply searching the index. You can’t actually search the entries themselves, and the bibliography doesn’t have back links, i.e., “which Codex entries reference this article?” These are minor niggles: entries use cross-references to other entries, and most entries have a reference to related books or papers, sometimes links directly to the reference, if online. Reference back-links are more useful in a textbook; for this reference, they’d probably mostly be clutter.

Summary

Negatives:

  • Can’t copy and paste, unlike a computer-viewable version. (There might be an app for that…?)
  • Doesn’t have everything I personally might need.
  • Entries themselves are not searchable.

Positives:

  • Searchable index makes finding things a snap.
  • Nicely formatted, color illustrations and pseudocode snippets.
  • Cross-referencing and original source references, with links.
  • Weighs much less than the related pile of books.
  • Has many to most things I like to have handy.

All in all, worth $3.99 to me.

The above are my own impressions, before reading the email Morgan sent me about the app. Here’s what Morgan said:

What I’m doing with the app is converting all of my course notes and the professional notes that I take with me consulting into easily searchable topics. This way I always have the reference material with me, without having to carry all of my graphics books between my home, office, lab, and remote sites. I usually cite not only the paper and book that material comes from, but the exact page, so that I can quickly find more information when I am in the same place as my books. DirectX, OpenGL, Unity, Mitsuba, G3D, and JOGL entry points link to their official documentation on the web. Unlike a PDF or Apple IBook, The Graphics Codex does all typesetting live so it reflows for the orientation and size of your mobile device, and zooming in recomputes the text rather than scrolling it off the side of the page.

I’m prioritizing topics that people e-mail me about and vote for on the website…and anything that I look up in my regular work immediately goes into the next version. Version 1.2 not only adds a bunch of new topics from convolution to quaternions but an all-new UI and the ability to show the types and units of subexpressions.

So, if you get the app and see something missing, email him and go vote!

HPG and EGSR CFPs

HPG is a great little conference squarely aimed at interactive rendering techniques, including areas such as hardware and ray tracing. It will be June 25-27 in Paris (France, not Texas), colocated with another excellent gathering of researchers, the Eurographics Symposium on Rendering. See the HPG call for participation and EGSR CFP for more information.

Entirely gratuitous image follows, a voxelized and 3d printed you-know-what (from here):

Game developers: SIGGRAPH deadline in two weeks!

Full Disclosure Update: in the original post, I forgot to mention my affiliation with the SIGGRAPH 2012 committee (I’m the Games Chair).

I’ve given several presentations at SIGGRAPH, and have spoken to many other game developers who have done the same. We have all found it to be an amazing experience; fun, career-enhancing, educational, and somehow simultaneously ego-boosting and humbling.

While there are many other conferences (GDC being uppermost in many game developer’s minds) SIGGRAPH holds a special place for anyone whose work involves computer generated visuals. For almost 40 years, SIGGRAPH has united the many disparate communities working in computer graphics, including academic research, CAD, fine arts, architecture, medical and scientific visualization, games, CG animation, and VFX. Each year the conference attracts the top technical and creative minds of the field for a week-long pressure cooker of learning, discussing, presenting, arguing, networking, and brainstorming about everything to do with computer graphics.

SIGGRAPH 2012 will take place in Los Angeles this August. There is a great opportunity for game developers to present at this year’s conference, but time is short since one of the most important deadlines is less than two weeks away.

Presenting at SIGGRAPH is a lot easier than most people think. While it is true that the quality bar is high, there are several programs that are seeking exactly the kind of practical, real-world advances and innovations that happen all the time in game development. Of these, the SIGGRAPH talk program is the most friendly to game developers; proposals for these 20-minute talks are easy to prepare and the topics covered vary from rendering and shading techniques through tool and workflow improvements to specific look development and production case studies. As a general rule of thumb, If it’s high-quality work and the kind of thing a graphics programmer or technical artist would do, chances are it would make a good SIGGRAPH talk proposal.

The general submission deadline for talks is in just under two weeks, on February 21. That isn’t a lot of time, but fortunately talk submissions only require preparing a one-page PDF abstract and filling out some web forms (additional materials can help if you have them – more details can be found on the talk submission page). Still, getting approval from management typically takes time, so you shouldn’t delay if you are interested. To get an idea of the level of detail expected in the abstract, and of the variety of possible talks, here are some film and game Talk abstracts from recent years: Making Faces – Eve Online’s New Portrait Rendering, MotorStorm Apocalypse: Creating Explosive and Dynamic Urban Off Road Racing, It’s Good to Be Alpha, Kami Geometry Instancer: putting the “smurfy” in Smurf Village, Practical Occlusion Culling in Killzone 3, and High Quality Previewing of Shading and Lighting for Killzone3.

If you are reading this, please consider submitting the coolest thing you’ve done last year as a Talk; the small time investment will repay itself many times over.

Good luck with your submissions!

A few new books

I’ve updated our books page a bit, adding the new books I know of at this point, adding links to authors sites and Google Books samples, etc. Please let me know what we’re missing.

A book I know nothing about, but from updating the books page I think I’ll get, is the OpenGL 4.0 Shading Language Cookbook. A reviewer on Gamasutra gives it strong praise, as do all the Amazon customer reviews.

One I’ve left off for now is Programming GPUs, which I expect is focused on computing with the GPU (no rendering), judging from the author’s background as a quant (his bio’s cute). I also left off a heckuva lot of books on using the Unity engine, to keep the list focused on direct programming vs. using higher-level SDKs.

Along the way I noticed a nice little blog called Video Game Math, by Fletcher Dunn and Ian Parberry, who recently released a second edition of their 3D Math Primer for Graphics and Game Development. Which is pretty good, by the way. My mini-review/endorsement: “With solid theory and references, along with practical advice borne from decades of experience, all presented in an informal and demystifying style, Dunn & Parberry provide an accessible and useful approach to the key mathematical operations needed in 3D computer graphics.” There’s an extensive Google Books sample of much of the first few chapters.

In the “old but awesome and free” category this time is Light And Color – A Golden Guide. Check it out before there’s some takedown notice sent out. Yes, it’s small, it’s colorful, and some bits are dated, but there are some pretty good analogies and explanations in there. No kidding. Lots more Golden Guides here (including, incredibly, this one).

I did find that there’s a new edition of “Real Time Rendering out, which was a surprise. The subtitle is the best: “Aalib, Aces of ANSI Art”. It’s even sold by Barnes & Noble and Books-A-Million. Happily, I couldn’t find it on Amazon, so maybe they’re scaling back on carrying these so-called books. This particular book is a paperback, and more expensive than the real thing (I like to think our’s is real – it’s the dash between “Real” and “Time” that keeps it real for me). Or I should say it’s more expensive unless you buy ours from these “double your intelligence or no money back” sellers. I believe this phenomenon is from computers tracking competitors’ prices and each one jacking up prices in response.

In case you missed my posts on Betascript Publishing, go here – short version is that they use a computer program to find related articles on Wikipedia, put on a cover (usually the most creative part of the process), and sell it. I’d be interested to know which book is better, their computer-generated one or my own Wikipedia-derived followup, GGGG:RTRtR (Game GPU Graphics Gems: Real-Time Rendering the Redux), reviewed by me here. I really should read my own book some day, there look to be some interesting Wikipedia articles in there.

Finally, I like the concept of book autopsies:

So which laws does this picture violate?

In honor of SOPA-blackout day, here’s my sideways contribution to the confusion.

Is this blog post in potential violation of copyrights or trademarks? I don’t honestly know. The (great!) image below was made by Lee Griggs and Tomás Fernández Serrano at SolidAngle, the company that develops the Arnold renderer, used by (among others) Sony Imageworks for CG effects in their films.

So, let’s see, some issues with this post and image are:

He used Mineways to export the model from a Minecraft world. A texture pack terrain image is applied to the model. So, if you use a texture pack from some copyrighted source (which all of them are, by default; sadly, few declare themselves Creative Commons in any form), are you violating their copyright? What if, like in the image below, you can’t actually make out any details of the textures?

This Minecraft world was built by a lot of people – are their models somehow protected? In what ways? Over on the left there I see Mario and Luigi. These are trademarked figures (or copyrighted?). Are these illegal to build in your own Minecraft world? What about public, shared worlds where others see them? Or is it fine under good faith, since it’s non-commercial? Would selling the print then be illegal? How big does Mario have to be to infringe? Is it the building of them or the photographing of these models that’s illegal? Or is this a “public virtual space” where taking photos is fine? I can make some guesses, but don’t know.

Similarly, if one of the builders used a voxelizer like binvox to build a model from a commercially-sold mesh, would that be OK? At what resolution of voxels does the original mesh and the voxelized version become close enough for a violation to occur? Luckily, the model itself is just a bunch of cubes, and cubes themselves are not something protected by any laws, right? (well, Marchings Cubes were, but that’s a different story.) If I could download their mesh, could I legally use it? Probably not commercially, since it’s the arrangement of the cubes that’s important.

You’re saying to yourself that this is “tempest in a teapot” stuff, with no real likelihood anyone would demand a takedown of fan art. I remember the early years of the commercial internet, where Lucasfilm did just that, endlessly ordering takedowns of unauthorized Star Wars images, models, etc. (I guess they still do?). I even understand it: I’ve heard trademark must be actively defended to retain it. Most interesting of all, there was a United Kingdom Supreme Court ruling last summer involving Lucasfilm: the court ruled that 3D models are covered by “design rights” by default, giving them 3 to 10 year protection, or 25 years if registered. Stormtrooper helmets were judged “utilitarian”, not sculptures, and so are not covered by these rights. Fascinating! But that’s the UK – what if I order a stormtrooper helmet from the UK for delivery to the US? I assume it’s an illegal import.

Finally, am I breaking some law by including this image in my post, using the URL of the original post‘s image? I attribute the authors, but the image is copyright, explicitly shown in the Flickr version. I think I’d invoke Fair Use, since I’m making a point (oh, and that Fair Use link won’t work for a few more hours, with Wikipedia blacked out). Confusing.

With images, textures, and models referencing each other and all sloshing around the web, what copyright, trademark, and all the rest means gets pretty hazy, pretty quick. I’m guessing most of the questions I pose have definitive answers (or maybe not!), but I know I’m part of the vast majority that aren’t sure of those answers. Which is probably mostly fine (except when corporations overstep their bounds), since our culture is much richer for all the reuse that most of us do without any financial gain and without worrying about it.

Update: I just noticed this article on Gamasutra on similar issues (the difference being that the author actually knows what he’s talking about).

Another update: looking at this article during 2016, I noticed the original image is no longer on the page. However, the Wayback Machine has a copy here. I’ve grabbed a copy and so am including the image directly, to avoid having it slip away again (items on The Wayback Machine sometimes get taken down, too). I also wanted to add that, unlike a trademark, you don’t lose your copyright if you don’t defend it against every infringement – you can be selective.

solidangleforominecraft

I3D 2012 Schedule for GDC Attendees & SoCal GameDevs

The Symposium on Interactive 3D Graphics and Games (I3D) has long been one of my favorite conferences. Best described as a “real-time focused mini-SIGGRAPH”, I3D is a typical smaller conference in that it’s single-track (no worries about overlapping sessions), and the attendance is low enough (around 200 people) that you have a hope of meeting and talking to most of the people.

This year, the conference schedule has been structured to be especially friendly to game developers that are either flying into San Francisco the previous week to attend GDC or that are based close to the conference venue in Costa Mesa. If you belong to either of these two groups, you would do well to include I3D in your plans – the content is very strong this year.

The first day of I3D overlaps GDC, but the organizers were kind enough to occupy that day with content primarily targeted at other industries; game developers who fly down from GDC to catch the last two days of I3D over the weekend will get almost all of the relevant content. This scheduling is also useful to local game developers who aren’t going to GDC, since they won’t need to miss a day of work.

I3D’s papers have typically been of high quality (on average much more likely to be useful to game developers than SIGGRAPH papers), and this year is no exception. As usual, Ke-Sen Huang has a preprints links page up, and most of the papers are already available.

The most interesting paper sessions for game developers in my opinion are “GPU Rendering” (with the papers A Reconstruction Filter for Plausible Motion Blur, Decoupled Deferred Shading for Hardware Rasterization, and Rectilinear Texture Warping for Fast Adaptive Shadow Mapping), “Surfaces and Textures” (with the papers Surface Based Anti-Aliasing, Efficient Pixel-Accurate Rendering of Curved Surfaces, and Multiresolution Attributes for Tessellated Meshes), and “Global Illumination and Ray Tracing” (with the papers Real-Time Bidirectional Path Tracing via Rasterization, Delta Radiance Transfer, and Fast, Effective BVH Updates for Animated Scenes). Other paper sessions with material of interest to game developers include “Scattering and Reflection” and “Motion Capture and Animation”. All of these paper sessions are on the last two days.

Besides papers, I3D 2012 will also feature a keynote by Prof. Dinesh Pai (a prominent sensorimotor researcher at the University of British Columbia), a CAD industry talk by Mauricio Vives (a graphics software engineer at Autodesk), a banquet dinner including a talk by a yet-to-be-determined speaker from NVIDIA, poster presentations, and a game industry session (the details of which have not yet been announced, but from what I’ve heard it promises to be very good). All of these sessions except for the keynote are on the last two days.

My response to the OSTP research access RFI

A few days ago, I urged (besides other actions), submitting responses to the RFIs from the White House Office of Science and Technology Policy regarding access to research. I myself responded to the the RFI regarding peer-reviewed scholarly publications (I didn’t feel qualified to respond to the other one regarding access to research data sets since I don’t use those as much in my work). The reply I sent is after the break – please note that this is my (Naty’s) personal opinion, and may not reflect Eric and Tomas’ positions.

Continue reading

GPU Pro^3 is available for order

Like the title says, GPU Pro3, the next installment of the GPU Pro series, is now available for order. The publication date is realsoonnow (January 17th). The extended table of contents is a great way to get a sense of what it contains.

The GPU Pro series is essentially a continuation of the ShaderX series, just with a different publisher. I was given a look at the draft of this latest volume, and it appears in line with the others: some eminently practical and battle-tested approaches mixed with some pie-in-the-sky out-of-the-box done-with-the-metaphors ideas – having a mix keeps things lively. Articles such as the one covering the CryENGINE 3 is a fine combination of both, with solid algorithms alongside “this doesn’t always work but looks great when it does” concepts. Some of the material (including a fair bit of the CryENGINE 3 article) can be gleaned from presentations online from GDC and SIGGRAPH, but here it’s all polished and put in one place. Other articles are entirely fresh and new. Priced reasonably for a full-color book, it’s a volume that most graphics developers will find of interest.