Author Archives: Eric

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):

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

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.

Do you spell these two words correctly?

We all have dumb little blind spots. As a kid, I thought “Achilles” was pronounced “a-chi-elz” and, heaven knows how, “etiquette” was somehow “eh-teak”. When you say goofy things to other people, someone eventually corrects you. However, if most of the people around you are making the same mistake (I’m sorry, “nuclear” is not pronounced “new-cue-lar”, it just ain’t so), the error never gets corrected. I’ve already mentioned the faux pas of pronouncing SIGGRAPH as “see-graph”, which seems to be popular among non-researchers (well, admittedly there’s no “correct” pronunciation on that one, it’s just that when the conference was small and mostly researchers that “sih-graph” was the way to say it. If the majority now say “see-graph”, so be it – you then identify yourself as a general attendee or a sales person and I can feel superior to you for no valid reason, thanks).

Certain spelling errors persist in computer graphics, perhaps because it’s more work to give feedback on writing mistakes. We also see others make the same mistakes and assume they’re correct. So, here are the two I believe are the most popular goofs in computer graphics (and I can attest that I used to make them myself, once upon a time):

Tesselation – that’s incorrect, it’s “tessellation”. By all rules of English, this word truly should have just one “l”: relation, violation, adulation, ululation, emulation, and on and on, they have just one “l”. The only exceptions I could find with two “l”s were “collation”, “illation” (what the heck is that?), and a word starting with “fe” (I don’t want this post to get filtered).

The word “tessellation” is derived from “tessella” (plural “tessellae”), which is a small piece of stone or glass used in a mosaic. It’s the diminutive of “tessera”, which can also mean a small tablet or block used as a ticket or token (but “tessella” is never a small ticket). Whatever. In Ionic Greek “tesseres” means “four”, so “tessella” makes sense as being a small four-sided thing. For me, knowing that “tessella” is from the ancient Greek word for a piece in a mosaic somehow helps me to catch my spelling of it – maybe it will work for you. I know that in typing “tessella” in this post I still first put a single “l” numerous times, that’s what English tells me to do.

Google test: searching on “tessellation” on Google gives 2,580,000 pages. Searching on “tesselation -tessellation”, which gives only pages with the misspelled version, gives 1,800,000 pages. It’s nice to see that the correct spelling still outnumbers the incorrect, but the race is on. That said, this sort of test is accurate to within say plus or minus say 350%. If you search on “tessellation -tesselation”, which should give a smaller number of pages (subtracting out those that I assume say “‘tesselation’ is a misspelling of ‘tessellation'” or that reference a paper with “tesselation” in the title), you get 8,450,000! How you can get more than 3 times as many pages as just searching on “tessellation” is a mystery. Finally, searching on “tessellation tesselation”, both words on the same page, gives 3,150,000 results. Makes me want to go count those pages by hand. No it doesn’t.

One other place to search is the ACM Digital Library. There are 2,973 entries with “tessellation” in them, 375 with “tesselation”. To search just computer graphics publications, GRAPHBIB is a bit clunky but will do: 89 hits for “tessellation”, 18 hits for the wrong one. Not terrible, but that’s still a solid 20% incorrect.

Frustrum – that’s incorrect, it’s “frustum” (plural “frusta”, which even looks wrong to me – I want to say “frustra”). The word means a (finite) cone or pyramid with the tip chopped off, and we use it (always) to mean the pyramidal volume in graphics. I don’t know why the extra “r” got into this word for some people (myself included). Maybe it’s because the word then sort-of rhymes with itself, the “ru” from the first part mirrored in the second. But “frustra” looks even more correct to me, no idea why. Maybe it’s that it rolls off the tongue better.

Morgan McGuire pointed this one out to me as the most common misspelling he sees. As a professor, he no doubt spends more time teaching about frusta than tessellations. Using the wildly-inaccurate Google test, there are 673,000 frustum pages and 363,000 “frustrum -frustum” pages. And, confusingly, again, 2,100,000 “frustum -frustrum” pages, more than three times as many as pages as just “frustum”. Please explain, someone. For the digital library, 1,114 vs. 53. For GRAPHBIB I was happy to see 42 hits vs. just 1 hit (“General Clipping on an Oblique Viewing Frustrum”).

So the frustum misspell looks like one that is less likely at the start and is almost gone by the time practitioners are publishing articles, vs. the tessellation misspell, which appears to have more staying power.

Addenda: Aaron Hertzmann notes that the US and Britain double their letters differently (“calliper”? That’s just unnatural, Brits). He also notes the Oxford English Dictionary says about tessellate: “(US also tesselate)”. Which actually is fine with me, except for the fact that Microsoft Word, Google’s spellchecker, and even this blog’s software flags “tesselate” as a misspelling. If only we had the equivalent of the Académie française to decide how we all should spell (on second thought, no).

Spike Hughes notes: “I think the answer for ‘frustrum’ is that it starts out like ‘frustrate’ (and indeed, seems logically related: the pyramid WANTS to go all the way to the eye point, but is frustrated by the near-plane).” This makes a lot of sense to me, and would explain why “frustra” feels even more correct. Maybe that’s the mnemonic aid, like how with “it’s” vs. “its” there’s “It’s a wise dog that knows its own fleas”. You don’t have to remember the spelling of each “its”, just remember that they differ; then knowing “it’s” is “it is” means you can derive that the possessive “its” doesn’t have an apostrophe. Or something. So maybe, “Don’t get frustrated when drawing a frustum”, remembering that they differ. Andrew Glassner offers: “There’s no rum in a frustum,” because the poor thing has the top chopped off, so all the rum we poured inside has evaporated.