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!


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.

| improve this answer | |
  • \$\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\$ – Jonathan Dickinson Mar 14 '12 at 12:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.