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 [...]
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 [...]
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 [...]
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 [...]
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 [...]
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 [...]
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: [...]
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), [...]
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, [...]
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 [...]
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 [...]
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.