{"id":695,"date":"2010-01-31T18:45:56","date_gmt":"2010-02-01T00:45:56","guid":{"rendered":"http:\/\/www.realtimerendering.com\/blog\/?p=695"},"modified":"2010-01-31T21:00:53","modified_gmt":"2010-02-01T03:00:53","slug":"i3d-2010-papers","status":"publish","type":"post","link":"https:\/\/www.realtimerendering.com\/blog\/i3d-2010-papers\/","title":{"rendered":"I3D 2010 Papers"},"content":{"rendered":"<p>The Symposium on Interactive 3D Graphics and Games (I3D) has been a great little conference since its genesis in the mid-80s, featuring many influential papers over this period.\u00a0 You can think of it as a much smaller SIGGRAPH, focused on topics of interest to readers of this blog.\u00a0 This year, the <a href=\"http:\/\/graphics.cs.williams.edu\/i3d10\/papers.htm\">I3D papers program<\/a> is especially strong.<\/p>\n<p>Most of the papers have online preprints (accessible from Ke-Sen Huang&#8217;s <a href=\"http:\/\/kesen.huang.googlepages.com\/i3d2010Papers.htm\">I3D 2010 paper page<\/a>), so I can now do a proper survey.\u00a0 Unfortunately, I was able to read two of the papers only under condition of non-disclosure (<em>Stochastic Transparency<\/em> and <em>LEAN Mapping<\/em>).\u00a0 Both papers are very good; I look forward to being able to discuss them publicly (at the latest, when I3D starts on February 19th).<\/p>\n<p>Other papers of interest:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.sci.utah.edu\/~bavoil\/research\/shadows\/FourierOpacityMapping_I3D2010.pdf\"><em>Fourier Opacity Mapping<\/em><\/a> riffs off the basic concept of <a href=\"http:\/\/www.punkuser.net\/vsm\/\">Variance Shadow Maps<\/a>, <a href=\"http:\/\/www.mpi-inf.mpg.de\/~tannen\/papers\/gi_08_esm.pdf\">Exponential Shadow Maps<\/a> (see also <a href=\"http:\/\/www.coretechniques.info\/2008\/Shadows.zip\">here<\/a>) and <a href=\"http:\/\/www.mpi-inf.mpg.de\/~tannen\/papers\/egsr_07.pdf\">Convolution Shadow Maps<\/a>.\u00a0 These techniques store a compact statistical depth distribution at each texel of a shadow map; here, the quantity stored is <em>opacity<\/em> as a function of depth, similarly to the <a href=\"http:\/\/graphics.stanford.edu\/papers\/deepshadows\/\">Deep Shadow Maps<\/a> technique commonly used in film rendering.\u00a0 This is applied to shadows from volumetric effects (such as smoke), including self-shadowing.\u00a0 This paper is particularly notable in that the technique it describes has been used in a highly regarded game (<a href=\"http:\/\/www.batmanarkhamasylum.com\/\"><em>Batman: Arkham Asylum<\/em><\/a>).<\/li>\n<li><em><a href=\"http:\/\/www.cs.utah.edu\/~loos\/publications\/vo\/\">Volumetric Obscurance<\/a><\/em> improves upon the SSAO technique by making better use of each depth buffer sample; instead of treating them as point samples (with a simple binary comparison between the depth buffer and the sampled depth), each sample is treated as a line sample (taking full account of the difference between the two values).\u00a0 It is similar to a concurrently developed paper (<a href=\"http:\/\/www.iit.bme.hu\/~szirmay\/ambientocc_link.htm\"><em>Volumetric Ambient Occlusion<\/em><\/a>); the techniques from either of these papers can be applied to most SSAO implementations to improve quality or increase performance.\u00a0 The <a href=\"http:\/\/www.cs.utah.edu\/~loos\/publications\/vo\/\"><em>Volumetric Obscurance<\/em><\/a> paper also includes the option to extend the idea further and perform area samples; this can produce a simple crease shading effect with a single sample, but does not scale well to multiple samples.<\/li>\n<li><em><a href=\"http:\/\/www.mpi-inf.mpg.de\/~rherzog\/Papers\/spatioTemporalUpsampling_preprintI3D2010.pdf\">Spatio-Temporal Upsampling on the GPU<\/a><\/em> &#8211; games commonly use cross-bilateral filtering to <a href=\"http:\/\/www.cs.virginia.edu\/~jdl\/papers\/resize\/yang_egsr08.pdf\">upsample quantities computed at low spatial resolutions<\/a>.\u00a0 There have also been <a href=\"http:\/\/www.cs.virginia.edu\/~gfx\/pmwiki\/index.php?n=Pubs.Nehab2007ARS\">several<\/a> <a href=\"http:\/\/www.cs.virginia.edu\/~gfx\/pmwiki\/index.php?n=Pubs.SitthiAmorn2008ARP\">recent<\/a> <a href=\"http:\/\/www.cg.tuwien.ac.at\/research\/publications\/2007\/Scherzer-2007-PCS\/\">papers<\/a> <a href=\"http:\/\/research.microsoft.com\/en-us\/um\/people\/hoppe\/proj\/supersample\/\">about<\/a> temporal reprojection (reprojecting values from previous frames for reuse in the current frame); <a href=\"http:\/\/www.xbox.com\/en-us\/games\/g\/gearsofwar2\/\"><em>Gears of War 2<\/em><\/a> <a href=\"http:\/\/www.unrealtechnology.com\/Downloads\/Slides\/GDC09_Smedberg_RenderingTechniques.pptx\">used this technique<\/a> to improve the quality of its ambient occlusion effects. The paper <a href=\"http:\/\/www.mpi-inf.mpg.de\/~rherzog\/Papers\/spatioTemporalUpsampling_preprintI3D2010.pdf\"><em>Spatio-Temporal Upsampling on the GPU<\/em><\/a> combines both of these techniques, filtering samples across both space and time.<\/li>\n<li><a href=\"http:\/\/www.cg.tuwien.ac.at\/research\/publications\/2010\/Habel-2010-EIN\/\"><em>Efficient Irradiance Normal Mapping<\/em><\/a> &#8211; at GDC 2004, <a href=\"http:\/\/www.valvesoftware.com\/\">Valve<\/a> introduced <a href=\"http:\/\/www.valvesoftware.com\/publications\/2004\/GDC2004_Half-Life2_Shading.pdf\">their &#8220;Irradiance Normal Mapping&#8221; technique<\/a> for combining a low-resolution precomputed lightmap with a higher-resolution normal map.\u00a0 Similar techniques are now common in games, e.g. spherical harmonics (<a href=\"http:\/\/ati.amd.com\/developer\/SIGGRAPH08\/Chapter01-Chen-Lighting_and_Material_of_Halo3.pdf\">used<\/a> in <em><a href=\"http:\/\/halo.xbox.com\/en-us\/games\/halo3\/\">Halo 3<\/a><\/em>), and directional lightmaps (used in <a href=\"http:\/\/www.ubi.com\/us\/games\/info.aspx?pid=50\"><em>Far Cry<\/em><\/a>).\u00a0 <a href=\"http:\/\/www.cg.tuwien.ac.at\/research\/publications\/2010\/Habel-2010-EIN\/\"><em>Efficient Irradiance Normal Mapping<\/em><\/a> proposes a new basis, similar to spherical harmonics (SH) but covering the hemisphere rather than the entire sphere.\u00a0 The authors show that the new basis produces superior results to <a href=\"http:\/\/www.graphics.cornell.edu\/~jaroslav\/papers\/egsr2004\/gautron-egsr2004-hemispherical.pdf\">previous &#8220;hemispherical harmonics&#8221; work<\/a>.\u00a0 Is it better than plain spherical harmonics?\u00a0 The answer depends on the desired quality level; with four coefficients, both produce similar results.\u00a0 However, with six coefficients the new basis performs almost as well as quadratic SH (nine coefficients), making it a good choice for high-frequency lighting data.<\/li>\n<li><a href=\"http:\/\/www.mpi-inf.mpg.de\/~dong\/I3D2010_VolCaustics.html\"><em>Interactive Volume Caustics in Single-Scattering Media<\/em><\/a> &#8211; I see real-time caustics as more of an item to check off a laundry list of optical phenomena than something that games really need, but they may be important for other real-time applications.\u00a0 This paper handles the even more exotic combination of caustics with participating media (I do think participating media in themselves are important for games).\u00a0 From a brief scan of the technique, it seems to involve drawing lines in screen space to render the volumetric caustics.\u00a0 They do show one practical application for caustics in participating media &#8211; underwater rendering.\u00a0 If this case is important to your application, by all means give this paper a read.<\/li>\n<li><em><a href=\"http:\/\/www.comp.nus.edu.sg\/~tants\/pba.html\">Parallel Banding Algorithm to Compute Exact Distance Transform with the GPU<\/a><\/em> &#8211; I&#8217;m a big fan of Valve&#8217;s work on <a href=\"http:\/\/ati.amd.com\/developer\/gdc\/2007\/Green-Improved_Alpha-Tested_Magnification_for_Vector_Textures_and_Special_Effects%28Siggraph07%29.pdf\">using signed distance fields<\/a> to improve font rendering and alpha testing.\u00a0 These distance fields are typically computed offline (a process referred to as &#8220;computing a distance transform&#8221;, sometimes &#8220;an Euclidian distance transform&#8221;).\u00a0 For this reason, brute-force methods are commonly employed, though there has been <a href=\"http:\/\/distance.sourceforge.net\/\">a lot of work on more efficient algorithms<\/a>.\u00a0 This paper gives a GPU-accelerated method which could be useful if you are looking to speed up your offline tools (or if you need to compute alpha silhouettes on the fly for some reason).\u00a0 Distance fields have other uses (e.g. collision detection), so there may very well be other applications for this paper.\u00a0 Notably, <a href=\"http:\/\/www.comp.nus.edu.sg\/~tants\/pba.html\">the paper project page<\/a> includes links to source code.<\/li>\n<li><a href=\"http:\/\/sites.google.com\/site\/hmcen0921\/cudarasterizer\"><em>A Programmable, Parallel Rendering Architecture for Efficient Multi-Fragment Effects<\/em><\/a> &#8211; one of the touted advantages of\u00a0 <a href=\"http:\/\/www.intel.com\/technology\/visual\/microarch.htm\">Larrabee<\/a> was the promise of <a href=\"http:\/\/s09.idav.ucdavis.edu\/talks\/10-Lalonde-BPS-Siggraph2009.pdf\">flexible graphics pipelines supporting stuff like multi-fragment effects<\/a> (A-buffer-like things like order independent transparency and rendering to deep shadow maps).\u00a0 Despite <a href=\"http:\/\/www.ddj.com\/architect\/217200602\">a massive software engineering effort<\/a> (and <a href=\"http:\/\/www.ddj.com\/architect\/216402188\">an instruction set<\/a> tailored to help), Larrabee has <a href=\"http:\/\/venturebeat.com\/2009\/12\/04\/intel-cancels-larrabee-consumer-graphics-chip\/\">not yet been able<\/a> to demonstrate software rasterization and blending running at speeds comparable to dedicated hardware.\u00a0 The authors of this paper attempt to do the same on off-the-shelf NVIDIA hardware using CUDA &#8211; a very aggressive target!\u00a0 Do they succeed?\u00a0 it&#8217;s hard to say.\u00a0 They do show performance which is pretty close to the same scene rendering through OpenGL on the same hardware, but until I have time to read the paper more carefully (with an eye on caveats and limitations) I reserve judgment.\u00a0 I&#8217;d be curious to hear what other people have to say on this one.<\/li>\n<li><em><a href=\"https:\/\/e-reports-ext.llnl.gov\/pdf\/371781.pdf\">On-the-Fly Decompression and Rendering of Multiresolution Terrain<\/a><\/em> (link is to an earlier version of the paper) &#8211; the title pretty much says it all.\u00a0 They get compression ratios between 3:1 and 12:1, which isn&#8217;t bad for on-the-fly GPU decompression.\u00a0 A lot of water has gone under the terrain rendering bridge since I last worked on one, so it&#8217;s hard for me to judge how it compares to previous work; if you&#8217;re into terrain rendering give it a read.<\/li>\n<li><a href=\"http:\/\/iparla.labri.fr\/publications\/2010\/VPBGS10\/\"><em>Radiance Scaling for Versatile Surface Enhancement<\/em><\/a> &#8211; this could be thought of as an NPR technique, but it&#8217;s a lot more subtle than painterly techniques.\u00a0 It&#8217;s more like a &#8220;hyper-real&#8221; or &#8220;enhanced reality&#8221; technique, like ambient occlusion (which darkens creases a lot more than a correct global illumination solution, but often looks better; <a href=\"http:\/\/www.mpi-inf.mpg.de\/resources\/3DUnsharpMasking\/\">3D Unsharp Masking<\/a> achieves a more extreme version of this look).\u00a0 <em><a href=\"http:\/\/iparla.labri.fr\/publications\/2010\/VPBGS10\/\"><em>Radiance Scaling for Versatile Surface Enhancement<\/em><\/a><\/em> is a follow-on to a similar paper by the same authors, <em><a href=\"http:\/\/iparla.labri.fr\/publications\/2009\/VPBGS09\/\">Light Warping for Enhanced Surface Depiction<\/a><\/em>.\u00a0 Light warping changes illumination directions based on curvature, while radiance scaling scales the illumination instead, which enables cheaper implementations and increased flexibility.\u00a0 With some simplifications and optimizations, the technique should be fast enough for most games, making this paper useful to game developers trying to give their game a slightly stylized or &#8220;hyper-real&#8221; look.<\/li>\n<li><em>Cascaded Light Propagation Volumes for Real-time Indirect Illumination<\/em> &#8211; this appears to be an updated (and hopefully extended) version of the <a href=\"http:\/\/mycryengine.com\/\">CryEngine 3<\/a> technique presented by <a href=\"http:\/\/www.crytek.com\/\">Crytek<\/a> at a SIGGRAPH 2009 course (see <a href=\"http:\/\/www.crytek.com\/fileadmin\/user_upload\/inside\/presentations\/2009\/Light_propagation_volumes.ppt\">slides<\/a> and <a href=\"http:\/\/www.crytek.com\/fileadmin\/user_upload\/inside\/presentations\/2009\/Light_Propagation_Volumes.pdf\">course notes<\/a>).\u00a0 This technique, which computes dynamic approximate global illumination by propagating spherical harmonics coefficients through a 3D grid, was very well-received, and I look forward to reading the paper when it is available.<\/li>\n<li><em>Efficient Sparse Voxel Octrees<\/em> &#8211; there has been a lot of excited speculation around raycasting sparse voxel octrees since <a href=\"http:\/\/www.pcper.com\/article.php?aid=532\">John Carmack first hinted<\/a> that the next version of <a href=\"http:\/\/www.idsoftware.com\/\">id software<\/a>&#8216;s rendering engine might be based on this technology.\u00a0 A <a href=\"http:\/\/s08.idav.ucdavis.edu\/olick-current-and-next-generation-parallelism-in-games.pdf\">SIGGRAPH 2008 presentation<\/a> by Jon Olick (then at id) raised the excitement further (demo video with unfortunate soundtrack <a href=\"http:\/\/www.youtube.com\/watch?v=VpEpAFGplnI\">here<\/a>).\u00a0 <a href=\"http:\/\/artis.imag.fr\/Publications\/2009\/CNLE09\/\">The Gigavoxels paper<\/a> is another example of recent work in this area.\u00a0 <em>Efficient Sparse Voxel Octrees<\/em> promises to extend this work in interesting directions (according to <a href=\"http:\/\/www.tml.tkk.fi\/~samuli\/publications\/laine2010i3d_abstract.html\">the abstract<\/a> &#8211; no preprint yet unfortunately).<em> <\/em><\/li>\n<li><em>Assisted Texture Assignment<\/em> &#8211; the highly labor-intensive (and thus expensive) nature of art asset creation is one of the primary problems facing game development.\u00a0 According to <a href=\"http:\/\/www-sop.inria.fr\/reves\/Basilic\/2010\/CLS10\/\">its abstract<\/a> (no preprint yet), this paper proposes a solution to part of this problem &#8211; assigning textures to surfaces.\u00a0 There is also <a href=\"http:\/\/anteru.net\/projects\/research\/assisted-texture-assignment\/ata-teaser\/\">a teaser<\/a> posted by one of the authors, which looks promising.<\/li>\n<li><em>Epipolar Sampling for Shadows and Crepuscular Rays in Participating Media with Single Scattering<\/em> &#8211; volumetric effects such as smoke, shafts of light (also called &#8220;god rays&#8221; or crepuscular rays) and volumetric shadows are important in film rendering, but usually missing (or coarsely approximated) in games.\u00a0 Unfortunately, nothing is known about this paper except its title and the identities of its authors.\u00a0 I&#8217;ll read it (and pass judgement on whether the technique seems practical) when a preprint becomes available (hopefully soon).<\/li>\n<\/ul>\n<p>The remaining papers are outside my area of expertise, so it&#8217;s hard for me to judge their usefulness:<\/p>\n<ul>\n<li><em><a href=\"http:\/\/gamma.cs.unc.edu\/DNF\/\">Fast Continuous Collision Detection using Deforming Non-Penetration Filters<\/a><\/em><\/li>\n<li><a href=\"http:\/\/www.jcohen.name\/papers\/Cohen_Interactive_2010.pdf\"><em>Interactive Fluid-Particle Simulation using Translating Eulerian Grids<\/em><\/a><\/li>\n<li><em>Real-Time Multi-Agent Path Planning on Arbitrary Surfaces<\/em><\/li>\n<li><em><a href=\"http:\/\/www.mpi-inf.mpg.de\/resources\/scandb\/\">Learning Skeletons for Shape and Pose<\/a><\/em> (there is previous work &#8211; anyone knows how it compares?)<\/li>\n<li><em><a href=\"http:\/\/www.cs.utexas.edu\/~ckm\/projects\/frankenrigs\/index.html\">Frankenrigs: Building Character Rigs From Multiple Sources<\/a><\/em><\/li>\n<li><em>Synthesis and Editing of Personalized Stylistic Human Motion<\/em><\/li>\n<li><a href=\"http:\/\/www.cs.princeton.edu\/gfx\/pubs\/Lu_2010_IPS\/index.php\"><em>Interactive Painterly Stylization of Images, Videos and 3D Animations<\/em><\/a><\/li>\n<li><em>Simple Data-Driven Modeling of Brushes<\/em> (the &#8220;brushes&#8221; are apparently paintbrushes, judging from the author&#8217;s earlier work)<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The Symposium on Interactive 3D Graphics and Games (I3D) has been a great little conference since its genesis in the mid-80s, featuring many influential papers over this period.\u00a0 You can think of it as a much smaller SIGGRAPH, focused on topics of interest to readers of this blog.\u00a0 This year, the I3D papers program is [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[11,295,8],"class_list":["post-695","post","type-post","status-publish","format-standard","hentry","category-resources","tag-i3d","tag-i3d-2010","tag-papers"],"_links":{"self":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/comments?post=695"}],"version-history":[{"count":151,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/695\/revisions"}],"predecessor-version":[{"id":894,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/695\/revisions\/894"}],"wp:attachment":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/media?parent=695"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/categories?post=695"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/tags?post=695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}