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 […]

Continue reading →

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. [missing image] Direct3D11 extends the Direct3D10 pipeline with three new stages: Two programmable shader stages (the Hull […]

Continue reading →

Ownership-based Zippering

Since my Gamefest talk I’ve received numerous questions about the ownership-based zippering algorithm that I proposed. So, I’ll try to explain it in more detail. See my previous article on watertight texture sampling for more background info. In the averaging method we would have to store the texture coordinate of every patch that contributes to […]

Continue reading →

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 […]

Continue reading →

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. [missing image] This problem is not […]

Continue reading →