5
\$\begingroup\$

What is so special about directx 11's dynamic tessellation? Can't it be implemented by hand, and just render geometry tessellated by your own code using older versions of directx? What are the advantages of using dx11? Thank you!

\$\endgroup\$

1 Answer 1

9
\$\begingroup\$

Here are just a few reasons off the top of my head:

  • You don't have to store the tessellated mesh in memory at any time, because it's generated on the fly on the GPU and streamed directly into the rasterizer/shader units. This is a huge memory savings versus precomputed tessellation, and can (sometimes) help performance as well due to the reduced memory bandwidth for reading vertices and indices (since on the GPU it will typically stay on-chip rather than being streamed in and out of memory).

  • The GPU is massively parallel, so GPU tessellation is also going to be way faster than running the equivalent CPU tessellation each frame (at least if you're tessellating enough stuff).

  • You can also make use of the GPU's texture sampling hardware e.g. for applying a displacement map to the tessellated vertices, which would be much trickier and slower if you had to implement the texture sampling yourself on the CPU.

\$\endgroup\$
1
  • \$\begingroup\$ One disadvantage: your players either need DX11 hardware (which is relatively expensive) or you need to be able to emulate it to a certain degree in the absence of DX11 hardware. \$\endgroup\$ Commented Mar 14, 2012 at 12:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .