Monday, June 21, 2010
AK Peters GPU Pro Source code website available
http://www.akpeters.com/gpupro/
All the source code is available from there and the Table of Content from the book. As you can see in the TOC the book ended up with 709 colorful pages that will stimulate your retina and brain.
Saturday, May 1, 2010
Stylized Rendering in Spore
In chapter 9.1 Stylized Rendering in Spore, we spill the details about Spore's scriptable "filter chain" compositing system. We believe such a system is indispensable for any engine that supports deferred shading and discuss our design and final implementation. We also show how the system can be used to generate a bunch of NPR-esque visual styles that are available as cheats in the game.
Here is an oil painting effect done with the system:

Polygonal-Functional Hybrids for Computer Animation and Games

I am Denis Kravtsov, a PhD student at the National Centre for Computer Animation at Bournemouth University, UK. Me and my colleagues present an approach utilising hybrid models, combining together both polygonal and Function Representation models. We perform model evaluation and rendering entirely on the GPU using NVidia CUDA SDK. Our approach allows us to produce animations involving dramatic changes of the shape (e.g. metamorphosis, mimicked viscoelastic behaviour, character modifications etc) and interactively create complex shapes with changing topology in short times.
Friday, March 12, 2010
AK Peters Website
BTW: the release date is in May.
Saturday, February 27, 2010
GPU Pro: Table of Content
Saturday, February 20, 2010
GPU Pro 2: Call for Authors
The upcoming book will cover advanced rendering techniques that run on the DirectX and/or OpenGL run-time or any other run-time with any language available. It will include topics on: Geometry Manipulation; Rendering Techniques; Handheld Devices Programming; Effects in Image Space; Shadows; 3D Engine Design; Graphics Related Tools; Environmental Effects and a dedicated section on mathematics used in graphics programming.
Proposals are due by May 17th, 2010. Please send them to wolf at shaderx.com. An example proposal, writing guidelines and a FAQ can be downloaded from http://gpupro2.blogspot.com/.
GPU Pro on its way to the printer
Sunday, December 20, 2009
Anisotropic Kuwahara Filtering on the GPU
We are Jan Eric Kyprianidis (Hasso-Plattner-Institut, Germany) and Henry Kang (University of Missouri, St. Louis, USA). In this chapter we present a GPU implementation of the anisotropic Kuwahara filter. The anisotropic Kuwahara filter is a generalization of the Kuwahara filter that avoids artifacts by adapting shape, scale and orientation of the filter to the local structure of the input. Due to this adaption, directional image features are better preserved and emphasized. This results in overall sharper edges and a more feature-abiding painterly effect. Unlike existing nonlinear smoothing filters, the anisotropic Kuwahara filter is robust against high-contrast noise and avoids overblurring in low-contrast areas, providing a consistent level of abstraction across the image. It also ensures outstanding temporal coherence in video abstraction, even with per-frame filtering.Sunday, December 13, 2009
Making it large, beautiful, fast and consistent – Lessons learned developing Just Cause 2

Our dynamic lights - Instead of moving to deferred shading we come up with a solution for having a large number of dynamic lights without multi-passing or increasing the draw calls.
Our shadowing system - A shadowing solution that scales well to large distances. The practical problems we tackled and the extra features we added.
A cross-platform interface for rendering. The advantages of having one, and how we crammed DX10 into a common interface with DX9 consoles and maintained good performance.
Ambient occlusion volumes - Our solution to ambient occlusion from dynamic objects.
Particle trimming - How we doubled performance of particle and cloud rendering at no visual loss.
Cross platform consistency issues and how we dealt with them.
Floating point precision problems we experienced due to our huge world and how we fixed it.
Hope you the enjoy article and hope you play the game when it is released on March 23.
Wednesday, November 4, 2009
Alpha Blending as a Post-Process

My name is Benjamin Hathaway, a senior graphics programmer at Black Rock Studio. In the article presented I will explain a novel approach to the rendering of foliage (and other alpha-test renderings) which was developed for our 2008 title Pure.
The technique (Screen-Space Alpha Masking) is a cross-platform solution that enables the rendering of thousands (or millions) of apparently alpha-blended foliage polygons without the need for any prior depth sorting, using no more than two draw-calls and a full-screen post-process.
Thursday, October 29, 2009
Fast Conventional Shadow Filtering

Wednesday, October 28, 2009
As-Simple-As Possible Tessellation for Interactive Applications

In this chapter, I describe and extend the Phong Tessellation operator, a simple and efficient way to define curved geometry from flat polygons. This operator is local, defined per-polygon using only vertex position and normal vectors and does not require to generate any explicit patch. It completes Phong normal interpolation in locations where curved geometry is critical to hide polygonization artifacts (silhouette, interior contours) . I extend the original operator to the case of quads, making it compatible with triangle, quad and tri-quad meshes. This technique can be implemented on today's GPUs using uniform or adaptive instanced tessellation as well as on future DX11 graphics architectures using the tessellator unit.
Thursday, October 22, 2009
Textured Silhouette Edges and Pencil Rendering on the Geometry Shader

We are Pedro Hermosilla and Pere-Pau Vázquez of the MOVING graphics group at UPC in Barcelona. Our contribution to GPU Pro deals with Non-Photorrealistic Rendering on the GPU.
Silhouette detection is a key issue in many non-photorealistic rendering algorithms. Silhouettes play an important role in shape recognition because they provide one of the main cues for figure-to-ground distinction. However, since silhouettes are view-dependent, they must be computed per frame. In this paper we present a couple of techniques that make use of the Geometry Shader in order to generate and texture silhouettes and to simulate pencil rendering in realtime. We provide both the insights of the technique and the source code of a sample application that makes use of the techniques to render a simple object.
Monday, October 12, 2009
Rendering Techniques in Call of Juarez: Bound in Blood
I am Pawel Rohleder, 3D graphics programmer and researcher at Techland. Our contribution to GPU Pro discloses rendering techniques applied in Call of Juarez: Bound in Blood, the Wild West FPS action game. The game depicts the wildest West ever through the story of Ray and Thomas McCall, two deadly gunslingers who are in the quest for the legendary gold of Juarez.
The article goes through very detailed description of single game frame rendering process based on deferred shading method. It demonstrates the advanced lighting and shadowing techniques, adopted do complex, open-space virtual environments, combined with top-notch post-processing effects (SSAO, motion-blur, tone mapping) and natural phenomena visualizations (sky, clouds, water, rain).
We also give the reader a short description of various core subsystems (like terrain, geometry, material management) which are the integral tool-kit enclosed in ChromeEngine4.
Wednesday, October 7, 2009
Virtual Texturing using CUDA
I’m Charles-Fredrik Hollemeersch and am currently working as a researcher at Multimedia Lab. Our contribution to GPU pro shows how virtual texturing can be accelerated using CUDA by offloading many tasks to the GPU. Virtual texturing is a promising technique to improve the visual quality of real-time rendering applications such as simulations and games. By selectively loading parts of the texture dataset, virtual texturing allows for higher resolution textures than possible with traditional techniques. However, this technique also adds a significant overhead to the renderer. First, there is the task of determining the working set of the current frame. Secondly, there is the need to upload and convert the streamed data.
Luckily, these tasks lend themselves well to data-parallel execution on a GPU. In our chapter we will show how all these tasks can efficiently be executed on the GPU though a combination of CUDA and OpenGL based steps.
Sunday, October 4, 2009
Volume Decals

My name is Emil Persson (known on the web as Humus) and one of the articles I'm contributing is called Volume Decals. It's a technique for rendering seamless decals properly wrapped around arbitrary geometry. This solves many of the common issues in traditional decal implementations, such as z-fighting, misalignment across geometric edges, non-trivial clipping, decals partly hanging in the air etc.
The idea is to render decals as convex volumes and use the screen position and depth buffer to generate the texture coordinates to look up in a volume decal texture. The articles covers all the dirty implementation details as well as variations and expansions of the technique. Does a "blast shadow map" sound cool? Read all about it in the article. :)
