Category Archives: Graphics

Continuity Mapping for Multi-Chart Textures

Naty Hoffman references a paper from Siggraph Asia titled Continuity Mapping for Multi-Chart Textures.
The paper provides a solution to a problem that I’ve talked before, that multi-chart parameterizations introduce seams over meshes, and that these seams can produce severe artifacts in some use cases such as displacement mapping. While the solution that I propose [...]

Posted in Graphics | Leave a comment

Approximating Gaussians

A while ago I wrote about high quality shadow filtering, and in particular about how to approximate a Gaussian using bilinear taps. Today I just noticed the following in the third edition of Real-Time Rendering:

Alternatively, the Gaussian could be approximated by using a bilinear interpolated sample for every four texels, finding the offset that gives [...]

Posted in Graphics | 5 Comments

High Quality Shadow Filtering

The slides of the GDC tutorials are already online. I was not at GDC on Monday and Tuesday, so I just gave them a quick glance to see if there was anything interesting.
One that caught my attention was AMD’s presentation on high quality shadow filtering. It seems that most of the talk was dedicated [...]

Posted in Graphics | 2 Comments

Optimal Grid Rendering

This is a trick that I learned from Matthias Wloka during my job interview at NVIDIA. I thought I had a good understanding of the behavior of the vertex post-transform cache, but embarrassingly it turned out it wasn’t good enough. I’m sure many people don’t know this either, so here it goes.
Rendering regular grids of [...]

Posted in Graphics | 4 Comments

ACMR

I think that the Average Cache Miss Ratio (ACMR) is not the best way of measuring the efficiency of the vertex cache under different mesh optimization algorithms. The ACMR is basically the number of vertex transforms divided by the number of primitives, and greatly depends on the topology of the mesh. For a triangle mesh [...]

Posted in Graphics | 1 Comment

Real-Time Creased Approximate Subdivision Surfaces

Denis finally put his I3D paper online!
Denis was my intern a couple of summers ago. We worked together on the implementation of the an emulation framework to implement and prototype various tessellation algorithms. Last summer he wanted to try something different, I recommended him to join a game studio, and he finally went to work [...]

Posted in Graphics | 2 Comments

Vertex Cache Optimization

I’m writing another vertex cache optimization tool. Why on earth would I do that? The main reason is because most of the tools out there are designed exclusively for triangles, and in my case I need to handle arbitrary primitives. Not just lines, triangles or quads, but sets of indices with arbitrary number of elements: [...]

Posted in Graphics | 4 Comments

10 Fun Things to do with Tessellation

Hardware tessellation is probably the most notable feature of Direct3D11.
Direct3D11 was announced at the last Gamefest and a technical preview was released in the November 2008 DirectX SDK. Hardware implementations are expected to be available this year.

Direct3D11 extends the Direct3D10 pipeline with three new stages: Two programmable shader stages (the Hull and Domain Shaders), [...]

Posted in Graphics | 7 Comments

Approximate Subdivision Shading

Subdivision Shading is a new approach to compute normal fields of subdivision surfaces that was presented at SIGGRAPH Asia 2008.

It’s a very simple idea that provides surprisingly good results. The idea is to interpolate the subdivision surface normals using the same procedure used for positions. The resulting normal field is not the actual surface normal, [...]

Posted in Graphics | Leave a comment

Spectral Surface Quadrangulation

I just learned about this paper published at siggraph asia:
Spectral Quadrangulation with Orientation and Alignment Control
Jin Huang, Muyang Zhang, Jin Ma, Xinguo Liu, Leif Kobbelt and Hujun Bao

Apparently it solves all the problems in the original spectral surface quadrangulation paper, that is, support for boundaries and automatic selection of best eigenfunction. It also adds support [...]

Posted in Graphics | Leave a comment

Watertight Texture Sampling

One of the problems when implementing displacement mapping is dealing with texture seams.
Texture seams are discontinuities in the parameterization. These discontinuities are always necessary unless the mesh has the topology of a disk, but in general meshes need to be partitioned into charts that are then parameterized independently.

This problem is not new. When using color [...]

Posted in Graphics | 6 Comments

Gamefest Presentations

I just realized that Microsoft recently released the Gamefest presentations, and that most of them are accompanied with audio recordings, including my talk about rendering displaced subdivision surfaces using tessellation.

Posted in Graphics | 2 Comments
  • Pages

  • Recent Posts

  • Archives