OpenGL Insights: Call For Authors

Here’s a book CFP, proposals due right after SIGGRAPH. I have to admit, I was a little skeptical when I heard of this as a book idea. However, OpenGL truly is undergoing a resurgence as of late. Not so much on desktops and laptops, though more games are indeed getting made for Macs. Marc DeLoura has a good article on engines in “Game Developer,” May 2011, noting that 15% of traditional “big game” developers plan on Mac version of their games, vs. a mere 2% in 2009. As it is, most every serious game engine is cross-platform, so OpenGL’s special features (and bugs) are not so vital to engine users. Rather, the handheld market is where OpenGL is the only game in town. So, knowing how to make this API sing is pretty vital if you’re working in that area.

The editors: Patrick Cozzi you probably don’t know (yet), though I did point earlier to a poster for this year’s SIGGRAPH that he coauthored (it’s a clever technique). Among other things, he’s first author on a book that’s not out yet, but will be by SIGGRAPH: 3D Engine Design for Virtual Globes (you can download book samples and the code). Christophe Riccio you may have heard of if you work with the OpenGL SDK. He maintains the OpenGL Samples, GLM (math), and GLI (imaging). These guys look like good people for the job: energetic and intelligent. So, here’s the CFP – you can comment on it at their blog. Me, just reading their list of topics of interest, I’ll get a copy even if they get articles on just a very few of these. If $50 (or whatever) saves us a day of going down a wrong path, it’s worth it.


It is with great enthusiasm that we invite you to contribute to OpenGL Insights, a book containing original articles on OpenGL, OpenGL ES, and WebGL techniques by the OpenGL community and for the OpenGL community: from game programmers to web developers to researchers. OpenGL Insights will be published by A K Peters, Ltd. / CRC Press in time for SIGGRAPH 2012.

Given the wide array of OpenGL platforms, from Mac desktops to Android phones to web browsers, we invite you to submit article proposals on all aspects of OpenGL development, including performance tuning, recent GL features/extensions, application architecture, vendor-specific techniques, WebGL, and interoperability with other APIs. We are interested in proposals based on your unique real-world experience using OpenGL. Some ideas include:

  • OpenGL performance, for example:
    • Best performance practices for using vertex buffers
    • Best performance practices for texture streaming
    • Performance and memory profiling techniques
    • 64-bit performance considerations
    • Multithreading with OpenGL
  • Modern OpenGL 3 and 4 programming, for example:
    • Introduction to tessellation
    • Image load and store
    • Programmable multisampling
    • Using shader subroutines effectively
    • Managing uniform data
    • Strategies for debugging OpenGL applications
  • Application architecture, for example:
    • Porting between Direct3D and OpenGL
    • Writing portable code between OpenGL, OpenGL ES, and WebGL
    • Designing an OpenGL-based graphics engine
    • A testing framework for OpenGL applications
    • Shader architecture best practices, e.g., shader binaries and separate shaders
    • Cross-platform programming with OpenGL
    • Tools, libraries
  • Vendor-specific techniques, for example:
    • Understanding and optimizing for specific hardware and driver implementations: AMD, Apple, ARM, Imagination Technologies, Intel, NVIDIA, Qualcomm, S3 Graphics, etc.
    • Bindless Graphics: GL_NV_shader_buffer_load and GL_NV_vertex_buffer_unified_memory
    • How VAO works on AMD drivers
    • Taking advantage of deferred tile rendering on PowerVR
    • How GLSL compiler works
    • Understanding multithreaded OpenGL drivers
  • OpenGL ES, for example:
    • Best practices for targeting both desktop and mobile devices
    • Targeting multiple mobile device platforms
    • Developing with power consumption in mind
    • Differences between desktop and mobile devices
  • WebGL, for example:
    • Introduction to WebGL for web developers
    • Introduction to WebGL for OpenGL developers
    • Optimizing WebGL applications
    • Writing large-scale software in JavaScript
    • Understanding web browser implementations of WebGL
    • WebGL interoperability with WebCL
  • Interoperability, for example:
    • Hybrid OpenGL and OpenCL/CUDA rendering pipelines
    • Working with both OpenGL and Direct3D
    • OpenGL interoperability with OpenCL and CUDA
  • Inspirational thoughts and experiences:
    • OpenGL’s 20th anniversary: history and evolution
    • ARB members and OpenGL developers interviews
    • OpenGL software making of
    • Daily programmer experiences with OpenGL

These are, of course, examples. Please don’t feel limited to these areas.

The planned schedule is:

August 15, 2011 Proposals due
September 1, 2011 Authors selected
November 1, 2011 Articles due
December 1, 2011 Peer review feedback due
December 15, 2011 Revised articles due, all articles sent to publisher
January 1, 2012 Supplemental material due, e.g., videos, source code, etc.
SIGGRAPH 2012 Book released

Please send proposals to editors@openglinsights.com using this example proposal as a template by August 15th.

Proposals should include the title, your name and affiliation, a one-page abstract, and anything else you feel helps convey your article such as related images or references. Proposals must demonstrate the author’s real-world OpenGL experience and ability to write clearly. Proposals can have multiple authors, and a single author can submit multiple proposals. There is no required article length, but we expect most articles will be 5-20 pages. Example code can be written in any language on any platform.

Please feel free to contact us for additional discussion. We’re looking forward to putting together a valuable book for the OpenGL community.

Thanks,

Patrick Cozzi and Christophe Riccio, Editors

www.openglinsights.com

More Free GDC 2011 Content in Vault

In my previous GDC links post, I briefly mentioned the free section of the GDC Vault, and listed individual links to a few of the many videos and presentation slides available there. I’ll list more links to free Vault content in this post, mostly stuff of interest to readers of this blog that isn’t otherwise available online.

Videos (many of these have presentation slides available from one of the links included in my previous post):

Slides (skipping any talks linked in my previous post):

GDC 2011 Links

Since it’s quite a long time after GDC 2011 and I never found the time to do a proper conference report, I thought I’d at least do a link roundup.

First, the GDC Vault has a Free Section with many presentation slides. Video for most talks is behind a paywall, but several notable talks have freely available video:

There are several other talks with free video, mostly sponsored by companies such as Intel and NVIDIA.

The rest of this post will cover talks where the authors or their companies have made materials available outside the Vault – I haven’t checked, but I suspect there is a fair bit of overlap with the free section in the Vault.

Presentations from the “Advanced Visual Effects with DirectX 11” tutorial day:

These are hosted on the AMD conference presentations page, which also has a few other AMD presentations:

Presentations from the “Physics for Game Programmers” tutorial day (these are only some of the presentations, it looks like the rest are up on the Vault’s free section):

Presentations from the Technical Artist Bootcamp can be found here – links to individual presentations follow:

DICE had quite a few presentations at GDC, many related to real-time rendering. All DICE presentations can be found on their publications page.

One DICE presentation of particular interest, Approximating Translucency for a Fast, Cheap and Convincing Subsurface Scattering Look (Colin Barre-Brisebois) can also be found on the author’s blog, along with an addendum.

NVIDIA also had a good number of presentations, to be found on their GDC 2011 page. An especially notable one (jointly presented with covered the Epic “Samaritan” demo, intended both to show off the Unreal Engine’s DX11 feature set, and to set a quality bar for the makers of next-generation consoles (the demo was shown on a machine with three GeForce GTX 580 cards connected via SLI, so definitely a “futuristic” system). Online material for the Samaritan demo includes the presentation slides, video of the demo, and some additional technical details on the underlying technology.

Intel also has a dedicated web page for their GDC 2011 presentations. Two especially interesting ones covered Order-Independent Transparency and Dynamic Resolution Rendering. Additional organizations with multiple talks at GDC included AutoDesk and Khronos.

The talk Mega Meshes: Modeling, Rendering and Lighting a World Made of 100 Billion Polygons (Ben Sugden & Michal Iwanicki, Lionhead) presented some unique rendering technology they developed for the (cancelled) game, Milo & Kate. Additional online materials include a video and a second video.

Other rendering talks with online materials include Anti-Aliasing From a Different Perspective (Dmitry Andreev, LucasArts), Practical Occlusion Culling on PS3 (Will Vale, Second Intention), Normal Offset Shadows (poster by Daniel Holbert, High Moon), HTML5 and Other Modern Browser Game Tech (Vincent Scheib, Google), and several presentations that Wolfgang Engel (Confetti) gave at the Intel booth.

Two animation talks also have online materials: The Animation of Halo: Reach: Raising the Bar (Joe Spataro & Tam Armstrong, Bungie), and An Automated Pipeline for Generating Run-Time Rigs (Adam Mechtley, Candlelight Interactive), as well as three non-graphics engineering talks: Forensic Debugging: How To Autopsy, Repair, and Reanimate a Release-built Game (Elan Ruskin, Valve), I Shot You First! Gameplay Networking in Halo: Reach (David Aldridge, Bungie) (there is also a much smaller file without video), and Message Queuing on a Large Scale (Jon Watte, IMVU).

For the sake of completeness, I’ll also list the design, production, and business presentations and videos I found online:

If you find any other presentations online, please put a link in the comments to this post.

I want this to be the best book ever

I just learned of a new book coming out: “Real-Time Shadows“, by an excellent group of researchers (a little more info here). I assume this book will be based on the authors’ 148-page “Casting Shadows in Real Time” course notes and related publications. This subject deserves its own book. There are enough interesting principles and so many variants and subtleties that I’m happy to hear this topic will get thorough coverage. Our book page is updated.

Looking around at other book-related resources, I noticed some interesting bits. John Vince’s “Geometry for Computer Graphics: Formulae, Examples and Proofs“, from 2005, has been reissued in a softcover edition. It’s pricey, as Springer books can be, and weighs in at just 364 pages, but it’s an information-packed volume. It’s a kind of book you rarely see now, one with a dense collection of formulae, like CRC Press used to specialize in. Google Books sample here. Some of it’s pretty tangential to computer graphics – normally I don’t need proofs about things like the opposite angles of a parallelogram being equal – but it’s fun to page through: “Someday I’d love to find a use for that coiled ring equation”. Whether you’ll ever need 1/100th of the information in this book depends on you. It seems like a good fit for demoscene programmers who want procedural functions and model generation, for example. Anyway, something to see if your university library has, just to page through and know it exists.

Speaking of geometric resources, I was sad to see the site geometryalgorithms.com appears to be defunct. What’s key to remember in such cases is that there’s the Wayback Machine. Just put in a dead URL and more times than not this site will have a copy. So the Geometry Algorithms site lives on here! Luckily, math doesn’t really rot, so the articles are still worthwhile. The bad news is that a few of the figures are missing.

For technical book authors, I ran across this interesting little tool: Detexify2. Draw the symbol you need, it will show you likely matches and what LaTeX you need. I’ve found it’s pretty accurate, though seemed to have problems with “not equals” half the time I drew that symbol as a test. Anyway, it’s probably no more efficient than just looking it up here or here, but is more fun.

Last resource for the (mothers’) day: so you want to explain the basics of computer graphics to your mom. Frédo Durand’s six page introduction is not a bad place to start. At the least, you can use the figures at the end to explain ideas.

Emerald, Jade, and ummm, Diopside?

Many moons ago when the world was young(er), Jim Arvo asked a few other graphics guys what we thought the next volume of “Graphics Gems” should be. After batting around “More Graphics Gems”, “Son of Graphics Gems”, “Revenge of the Graphics Gems” and other alternatives, he finally went with the consensus: number them, even though the first one is not numbered “1”. This is now the norm: GPU Gems, Game Programming Gems, Game Development Tools have all gone this route. The ShaderX/GPU Pro series(es) have gone with pushing the numeral up top, e.g., ShaderX3. Which I guess is officially read as “ShaderX cubed,” but of course everyone calls it “ShaderX Three.” Some have gone a different route, like the “Jim Blinn’s Corner” books were differentiated by the subtitles and by strikingly different cover colors.

Along the way there has been the occasional rough patch with book titles. For example, ShaderX2 is actually two very different books, “Introductions and Tutorials” and “Tips and Tricks.” The “Best of Game Programming Gems” book is excerpted from the first six books, leaving the seventh and eighth in a funny state – “what am I, chopped liver?” There seems to be a tiny hint that there will be a ninth volume, but there’s not a whiff of any call for participation elsewhere, e.g. not on the official series page.

I bring up this topic of naming because there’s now a new axis being developed: gem names. I noticed this a few months ago, and in updating the book page today, it’s official: the new GPU Computing Gems series truly is going with calling their first volume Emerald, the second volume Jade. Or is it vice versa? I honestly had to check.

I have to question this naming concept a bit, especially given the gems’ colors, but I guess the damage is done. “You know, the GPU Computing Gems book edited by Hwu, the one named after a green gem, with the green molecular structure on the cover, came out in 2011?” That accurately describes both volumes. When I first ran across this pair of books, I thought it was a bug or misprint, that there was only one book but with two slightly-different entries, sort of like “Harry Potter and the Philosopher’s/Sorceror’s Stone”. I’m not a marketing genius, but this naming scheme so far is not working for me. Which is a pity, as it does a disservice to the contributors by confusing the message. So, yes, there really are two different volumes, with Emerald out now and Jade coming out in August.

Seven Things for May 4th, 2011

Seven things:

  • There’s a post on speculative contacts by Paul Firth, a way of simplifying and stabilizing collision detection that has been used in Little Big Planet. Particularly nice is that demos are built into the page, so you can try the various methods out and see the problems and performance for yourself. This author has followed up with “Collision Detection for Dummies“, a great overview, and “Physics Engines for Dummies“, again with interactive demos.
  • The Gamedev Coder Diary has a worthwhile summary of the current state of deferred shading vs. deferred lighting (aka “light pre-pass”) techniques, discussing problems and strengths of each.
  • The CODE517E blog has had a number of good posts lately, including an article on deferred rendering myths, another on stable cascaded shadow maps, an accumulation-buffer-like way of making super-high resolution images for printing (with some worthwhile analysis of problems it engenders with mipmap sampling and with view shifting – fun to think about), an extensive rundown of programming languages for videogames, and a summary of tools he uses (quite the long list – I’m still working through those I hadn’t seen before).
  • On the topic of languages, Havok put together a page collecting the Lua tutorial talks at GDC 2011.
  • The Boeing 777 model (almost 400 million polygons) ray traced at interactive rates on a consumer-level PC, using CUDA. CentiLeo is an out-of-core GPU ray tracer, see this page for some of the slides from the (rather long) video. That said, don’t be fooled by the start of the video: those sequences are generated at 15 seconds a frame and played back at 60 FPS (so 500-1000x from being real-time). Still, the preview mode is indeed interactive, and the Boeing is a huge model. On the other end of things, here’s a fun demoscene ray trace. By the way, Ray Tracey’s blog is good for keeping up on new ray tracing videos and demos and other related topics.
  • A poster accepted to SIGGRAPH 2011 by Ohlarik and Cozzi gives a clever little method of properly drawing lines on surfaces for GIS applications. It converts lines to “walls”, then marks those pixels where there is a visibility change of the wall (i.e., one pixel of the wall is visible, a neighboring pixel is not), with a correction for terrain silhouette edges. One more trick for the bag.
  • More about the look and feel of games than the technical nerdy stuff I cover here, Topi Kauppinen’s blog pointed me to Susy Oliveira’s sculptures, which are pretty amusing (finally, perfect models for 3D web browsers). There have been similar works by other artists (e.g. Eric Testroete’s head), but the more the merrier.

I3D 2011 Report

This report about I3D 2011 is from Mauricio Vives, a coworker at Autodesk; he also has photos from the symposium. The papers listing can be found at Ke-Sen Huang’s page and at the ACM Digital Library’s page (tabbed version here). The ACM site has some interesting info, by the way, such as acceptance rates and “most downloaded, most cited” for all I3D articles. I should also remind people: if you’re a member of ACM SIGGRAPH, you automatically have access to all SIGGRAPH-sponsored ACM Digital Library materials (which is essentially almost all their graphics papers).


In case you missed them, Naty’s reports (so far) about I3D are also on this blog: Keynote, Industry Session, and Banquet Talk.

Papers


Session: Filtering and Reconstruction

A Local Image Reconstruction Algorithm for Stochastic Rendering

In a stochastic rasterizer, effects like defocus (depth of field) and transparency need a very large number of samples (64 – 256) to remove noise and look decent. This paper describes a technique to remove the noise using far fewer samples, through sorting to selectively blur samples. The results look quite good, though it does have the disadvantage of blurring transparency.

Subpixel Reconstruction Antialiasing for Deferred Shading

The post-process MLAA antialiasing technique works to find sharp edges in an image and smooth them. It provides pretty good results. This technique (SRAA) is similar, but operates with supersampled depth and normal data to produce even better results with predictable performance. For example, it looks comparable to 16x SSAA (super-sampled antialiasing) in just 2 ms on a GTX 480 at HD resolution. As with MLAA, only single-sample shading is used, and it is compatible with deferred lighting. [The use of depth and normals means it is focused on geometric edge finding, so the technique is not applicable to shadow edges and NPR post-process thickened edges, for example. – Eric]

High Quality Elliptical Texture Filtering on GPU

Elliptical filtering is necessary for removing artifacts from some high-frequency textures, but is too slow for real-time applications. This is a technique for approximating true elliptical filtering using hardware anisotropic filtering. They claim it is easy to integrate, and they provide drop-in GLSL code to replace existing texture lookups.

Session: Lighting in Participating Media

Transmittance Function Mapping

This is about rendering light and shadow in participating media (e.g. fog, smoke) with single scattering. Two techniques are described: a faster one called volumetric shadow mapping for homogeneous media, and a slower one called transmittance function mapping for heterogeneous media. This is suitable for both offline rendering and interactive applications, but it is not quite real-time (> 30 fps) yet.

Real-Time Volumetric Shadows using 1D Min-Max Mipmaps

This is again about volumetric shadows, but with real-time results for homogeneous media, using only pixel shaders. A combination of epipolar warping on the shadow map, and a 1D min-max mipmap for storage, makes this possible. This is a pretty clever combination of techniques. [This paper was the “NVIDIA Best Paper Presentation”.]

Real-Time Volume Caustics with Adaptive Beam Tracing

This is an extension of previous beam-tracing work to allow for real-time caustics, with receiving surfaces and volumes handled separately. A coarse grid of beams of refined based on the geometry and viewer to put detail where it is needed most. This enhancement is something an effect like caustics certainly needs to look good.

Session: Collision & Sound

Sound Synthesis for Impact Sounds in Video Games

This paper was motivated by having very little memory on a game console to store physics-based sounds, e.g. for footsteps or colliding objects. This uses a combination of modal synthesis and spectral modeling synthesis to produce extremely small sound definitions that could be varied on demand to provide a variety of believable effects. I don’t know much about sound generation, but the audio results (from the only audio paper in the conference) were very good.

Collision-Streams: Fast GPU-based Collision Detection for Deformable Models

Fast Continuous Collision Detection using Parallel Filter in Subspace

Both of these papers address the same problem: how to quickly perform continuous collision detection, which works by interpolating motion between time steps. I am a novice when it comes to collision detection, so I didn’t take away much from these.

Session: Shadows

This is the session that was most interesting to me, as I work on shadow algorithms.

Shadow Caster Culling for Efficient Shadow Mapping

This paper has a simple idea: when rendering a shadow map, cull objects that don’t produce a visible shadow to improve performance. Here occlusion culling is used to determine which objects are visible from the light source, and then these are rendered to produce a receiver mask in the stencil buffer. The stencil occlusion query operation can then be used to skip irrelevant objects. There are a few methods to render the receiver mask, trading off complexity and accuracy. This was mostly tested with city scenes, where it offered the same images at about 5x speed.

Colored Stochastic Shadow Maps

This included a nice overview of the problem, terminology, and existing techniques: how to render colored shadows from translucent objects? This extends existing techniques for rendering stochastic transparency to also support colored transparent shadows. It has a filter that can be adjusted for performance and quality, being based on stochastic techniques. The paper has simple explanations of the algorithm, and it seems from the presentation that this is fairly easy to integrate in a system that already handles basic stochastic shadow maps.

Sample Distribution Shadow Maps

This was the paper I was most interested in seeing, since it is an extension to cascaded shadow maps (CSM), a popular shadowing technique. The idea here is quite simple: reduce perspective aliasing with shadow maps by analyzing the distribution of samples visible to the viewer. This can be used to determine tight near/far planes for CSM partitions, and for tightly fitting the light frustum to just the visible shadow receivers.

The analysis requires a reduction operation, which can be done with rasterization (D3D9/10) or compute shaders (D3D11). Using this algorithm can result in sub-pixel sampling in many cases using a 2K shadow map; see the example below.

Session: Refraction & Global Illumination

Voxel-based Global Illumination

It wouldn’t be an interactive graphics conference without a paper about interactive global illumination, and here is one. The idea behind this technique is to create an atlas-based voxelization of the scene (every frame), and then perform fast ray casting into that grid. Direct lighting can be stored in the grid, or reflective shadow maps can be used; the latter seems to be preferred.

The technique is of course able to capture lighting and details that screen-space methods can’t. However, it can have artifacts that require a denser grid and a tuned offset to avoid self-intersections. Also, as noted earlier, it requires a texture atlas for generating the voxel grid. The results are interactive, if not quite real-time.

Real-Time Rough Refraction

Here the authors a solving the interesting, though somewhat specific, problem of rendering transparent materials (no scattering) with rough surfaces, which is different from translucent surfaces. Glossy reflection has been handled before; this is about glossy refraction. In this case, rays would be refracted twice, entering and exiting the surface, and this provides a fast way to perform what would otherwise be a double integration.

I wasn’t able to follow all of the math in this one, but the results are indeed real-time (> 30 fps), and comparable to what you would get out of a ray-tracer in dozens of seconds or minutes. There is also a cheap approximation for total internal reflection. This paper was selected as one of the best papers of the conference. An example with increasing roughness is shown below.

Screen-Space Bias Compensation for Interactive High-Quality Global Illumination with Virtual Point Lights

One of the problems with using virtual point lights (VPL) for global illumination is that you must apply a clamping above a certain amount of reflection to avoid pin-point light artifacts. This paper presents a fast way to compute the amount of light that was clamped away, which can then be added back to the VPL result. It is done in screen space, which can lead to some issues (as you might expect), but it is fully interactive and easy to integrate into other renderers that already have VPL.

Session: Human Animation

This is certainly not my area of expertise, so I only have a few comments about these papers.

Motion Rings for Interactive Gait Synthesis

This is human walking motion interpolation made more efficient, responding within a quarter-gait, which is necessary for interactive applications. It relies on a parameterized motion loop (called a “ring” here), and uneven terrain is handled with IK adjustments.

Realtime Human Motion Control with A Small Number of Inertial Sensors

This paper describes how to combine high-quality prerecorded motion capture data with live motion from just a few simple (noisy) sensors to enhance what would otherwise be very poor input. This is validated by comparing against the high-quality original data for motions like walking, boxing, golf swings, and jumping.

A Modular Framework for Adaptive Agent-Based Steering

Crowd simulations need hundreds of characters, but often lack local (per-person) intelligence. This paper presents a framework for dynamically choosing between one of several local steering strategies. This is able to handle fairly tight and deadlocked situations, such as two people walking toward each other down a narrow hall, though some of the resulting motion is awkward.

Session: Geometric and Procedural Modeling

Editable Polycube Map for GPU-based Subdivision Surfaces

This is an extension of previous “polycube map” work to allow transferring geometric detail from a high-resolution triangle mesh to subdivision surfaces. A simple modeling system was presented where the user creates a very coarse polycube and sketches a handful of correspondences between it and the high-resolution mesh. The results are really quite remarkable, and you can see the process below.

GPU Curvature Estimation on Deformable Meshes

It is not unusual to perform vertex skinning or iso-surface extraction on the GPU now. However, for some effects like ambient occlusion or NPR edge extraction, it is useful to have the mathematical curvature of the new surface, but this is slow or impossible to read back from the GPU. This paper presents a method for estimating curvature on the GPU in real-time, even for very detailed models, much faster than could be done on the CPU. [This paper was a “Best Paper – Honorable Mention”.]

Urban Ecosystem Design

I have seen several papers at SIGGRAPH and elsewhere about procedurally generating urban environments: basically streets and buildings. This paper procedurally adds plants (mostly trees) to such urban layouts. City blocks are assigned a level of human “manageability” which determines how organized or wild the plants in that block will be. From there, growth and competition rules are applied. Only the city geometry is taken into account, so this can be used with systems where other information (like land use) is not available. It was implemented with CUDA, and as an example, it can simulate 70 years of growth for 250,000 plants in about two minutes.

Session: Interactivity and Interaction

Data Management for SSDs for Large-Scale Interactive Graphics Applications

Here “SSD” refers to solid-state disks, so this is about organizing a graphics database to allow for efficient out-of-core rendering using SSDs instead of traditional hard disks with spinning platters. Since SSDs don’t need data ordering, locally (as opposed to globally) optimized layouts work well with them. The presentation seem to be lacking in detail, but the demo was fairly impressive: a very large scene on disk being displayed and edited very smoothly with very little RAM. For any developers working with large graphics databases I would certainly recommend reading this paper for getting some ideas.

Coherent Image-Based Rendering of Real-World Objects

This paper attempts to generate a depth map from images captured from a few cameras. The goal is to build a virtual dressing room with a “mirror”: the mirror is a display that shows you with different virtual clothes on. The entire system runs with CUDA on a single machine with a single GPU, at interactive rates even with full body movement. It exploits frame coherence, i.e., reusing parts of previous frames, to reduce latency. This was surprisingly the only paper on image-based rendering, despite the first keynote (below) being entirely about IBR.

Slice WIM: A Multi-Surface, Multi-Touch Interface for Overview+Detail Exploration of Volume Datasets in Virtual Reality

Here WIM is “world in miniature,” a technique that presents a small version of a virtual environment to help the user navigate the environment. This paper extends the technique to aid in the visualization of complex volume data generated from slices, especially for medical imaging. The resulting system consists of a large main display, a smaller horizontal touch display through which the user can manipulate the view and slices, and a head-tracked VR display for the WIM. Better to just show you! [This paper was a “Best Paper – Honorable Mention”.]

TVCG Papers

A few papers from IEEE Transactions on Visualization and Computer Graphics were also presented as “guests” of the conference. There didn’t seem as relevant, but I list them here:

  • Interactive Visualization of Rotational Symmetry Fields on Surfaces
  • Real-Time Ray-Tracing of Implicit Surfaces on the GPU
  • Simulating Multiple Character Interactions with Collaborative and Adversarial Goals
  • Directing Crowd Simulations Using Navigation Fields

Posters

I didn’t spend much time looking at the posters this year, but I did make note of a few that I would like to investigate further; see below. The full poster list is here [ACM Digital Library subscribers and SIGGRAPH members can download from here].

  • gHull: A Three-dimensional Convex Hull Algorithm for Graphics Hardware
  • Interactive Indirect Illumination Using Voxel Cone Tracing  [This was “Best Poster – Winner”.]
  • Level-of-Detail and Streaming Optimized Irradiance Normal Mapping
  • Poisson Disk Ray-Marched Ambient Occlusion

Talks

Image-Based Rendering: A 15-Year Retrospective

This talk was given by Rick Szeliski from Microsoft Research. As the title implies, it was an overview of image-based rendering research, covering topics such as panoramas, image-based modeling, photo tourism, and (in particular) light fields. The fundamental problem of such research is determine how to make a scene from an existing one. At one point he mentioned that Autodesk “probably” has something for image-based modeling, and indeed we do; I sent that link to him after the conference. Naty Hoffman of Activision has a longer discussion of this talk in an earlier blog posting.

From Papers to Pixels: How research finds its way into Games

This talk by Dan Baker of Firaxis was a light “rant” about what researchers should do to get their research into games. For example, they need to consider quality and ease of integration, and realize that hardware advances will make certain techniques obsolete quickly. Most of it was reasonable, but it included a number of controversial points, in my opinion. For example, “nobody uses OpenGL” and there is too much research into GPGPU.

He also started out by stating that the vast majority of the research for I3D is for games, and that everything else is “boring”… calling out “3D CAD” in particular as boring! By the end, I was quite tempted to provide an on-the-spot rebuttal from the Autodesk perspective.

A Game Developer’s Wishlist for Researchers

Chris Hecker, formerly of Maxis, presented his opinion on almost the same topic, i.e. what game developers want from researchers – I liked it better. His priorities are robustness, simplicity, and performance, in that order, but researchers often make the mistake of putting performance first. The nature of interactivity means that robustness is absolutely critical. For example, you can’t afford errors even every few hundred frames when you are rendering 30 fps. He also states that papers frequently exclude negative results and worst-case scenarios, which would be helpful for assessing robustness.

I could say more, but Chris has the full talk available here. See for yourself why he says, “We are always about to fail.”

GPU Computing: Past, Present, and Future

This was the banquet talk, given by David Luebke of NVIDIA. It was a fairly light look at the state of GPU computing, where it has come and where it will go. A lot of it went against Dan Baker’s earlier comments about GPGPU, and David made sure to point that out (and I agree).

Some of this talk had the feel of a marketing presentation for NVIDIA’s CUDA and GPU computing products like Tesla, but it is hard to deny that this area is important. He cited several cases where GPU computing is saving lives, e.g. assisting in heart surgery, malaria treatment, and cancer detection. Of course, he also mentioned graphics, scientific computing, data mining, speech processing, etc. At one point he (amusingly) pointed out that all of this innovation and technology has its roots in humble VGA controller hardware.

Mobile Computational Photography

As someone who recently started going beyond point-and-shoot photography with a DSLR camera, this talk was quite interesting. Kari Pulli of Nokia described an API for controlling digital cameras called FCam… and it’s pretty cool what skilled hands are able to do with this. Note that this isn’t really about high-end cameras: the idea is to allow even cell phone cameras to take great photos.

FCam basically makes a supporting camera programmable, allowing you to do things that the camera normally can’t do. Most of it revolves around taking multiple images and combining them to produce a better result. For example, from his talk and the site:

… take two photos with different settings back-to-back. The first frame has a high ISO and short exposure time, and the second has a low ISO and longer exposure time. The first frame tends to be noisy, while the second instead exhibits blur due to camera shake. This application combines the two frames to create an output that’s better than either.

This is absolutely something I wish I could do with my current camera. Another example he showed was combining a few images with narrow depths of field into a single image with a wide depth of field (i.e. fully sharp). Another automatically took photos until one was captured with minimal camera shake, keeping only the “good” one. All of this is done right on the camera, which is a great improvement over the typical post-processing workflow, and it can leverage metadata that only the camera has.

CFP: Game Development Tools 2

Passing this along, from Marwan Ansari. “Real” blogging again soon…

Now that the first volume of Game Development Tools has gone to the printers and will be available shortly, we invite you to submit a proposal for an  innovative article to be included in a forthcoming book, Game Development Tools 2, which will be edited by Marwan Y. Ansari and published by CRC Press/A. K. Peters. We expect to publish the volume in time for GDC 2012.

We are open to any tools articles that you feel would make a valuable contribution to this book.

Some topics that would be of interest include:

· Content Pipeline tools (creation, streamlining, management)

· Graphics/Rendering tools

· Profiling tools

· Collada import/export/inspection tools

· Sound tools

· In-Game debugging tools

· Memory management & analysis tools

· Console tools (single and cross platform)

· Mobile Device (phone/tablet) tools

This list is not meant to be exclusive and other topics are welcome.

The schedule for the book is as follows:

July 1         – All proposals in.

July 18th   – Authors are informed and begin writing articles.

Aug 19th   – First draft in to editor

Sept 16th   – Drafts sent back authors with notes for final draft.

Oct  15th   – Final articles in to editor

Dec 1st      – Final articles to publisher (A K Peters)

GDC 2012 – Book is released

Please send proposals using this form to: marwan at gamedevelopmenttools dot com.

CFP: IEEE CG&A special issue on material appearance

Passing on the word:

IEEE CGA special issue

Modeling and Rendering Material Appearance

Final submissions due: 1 July 2011
Publication date: March/April 2012

Modeling and rendering the appearance of materials is important in many computer graphics applications. Understanding material appearance draws on methods from diverse fields including the physics of light interaction with material (including models of BRDF, bidirectional reflectance distribution functions, and BSSRDF, bidirectional subsurface scattering reflection distribution functions), human perception of materials, and efficient data structures and algorithms.

This special issue will cover all aspects of material appearance in graphics, ranging from theory to application. Possible topics include (but are not limited to)

  • first-principle models for BRDF and BSSRDF;
  • procedural models of materials;
  • modeling of mesoscale material features including bumps, ridges, and so on;
  • measurement of material appearance including BRDF, BSSRDF, and BTF (bidirectional texture functions);
  • numerical simulation of material appearance;
  • new instruments for measuring appearance;
  • material-appearance models from photo collections;
  • new data structures for representing material appearance;
  • efficient rendering of BTF and BSSRDF;
  • new interfaces for designing material appearance;
  • methods for printing hard copies of material appearance;
  • psychophysics of material appearance with application to computer modeling;
  • material-appearance applications in industry such as the design of paints and coatings; and
  • nonphotorealistic rendering of material appearance.

Questions?

Contact Holly Rushmeier (holly@acm.org) or  Pierre Poulin (poulin@iro.umontreal.ca)

Submission Guidelines

Articles should be no more than 8,000 words, with each figure counting as 200 words. Cite only the 12 most relevant references, and consider providing technical background in sidebars for nonexpert readers. Color images are preferable and should be limited to 10. Visit CG&A style and length guidelines at www.computer.org/cga/author.html.

Please submit your article using the online manuscript submission service at https://mc.manuscriptcentral.com/cs-ieee. When uploading your article, select the appropriate special-issue title under the category “Manuscript Type.” Also include complete contact information for all authors. If you have any questions about submitting your article, contact the peer review coordinator at cga-ma@computer.org.