Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 1.49 KB

README.md

File metadata and controls

26 lines (19 loc) · 1.49 KB

FXAA on Compute Queue in Direct3D 12

This project was created to learn the Direct3D 12 API as a part of the DV2511 3D Programming III course.

We investigated whether or not moving the FXAA stage (which was implemented as a compute shader) from the graphics queue to the compute queue might have a performance benefit by allowing for higher parallelism. Our measurements—both the ones recorded in the application itself and by GPUView—showed that this was not the case. Due to the nature of the program and the minuscule execution time of the FXAA stage (in comparison to the geometry rendering stage that came before it), the rendering work for the next frame on the graphics queue would not take place before the previous frame had been presented. Therefore, moving the FXAA stage to the compute queue did not improve the parallelism in our case.

Demo

The images below show 104 Stanford Dragons rendered by the application, before and after the FXAA demo pass. Before FXAA After FXAA

  • Top left quadrant: 3x magnification.
    • Left side: FXAA off.
    • Right side: FXAA on.
  • Bottom left quadrant: Edges detected by the FXAA algorithm.
  • Top right quadrant: FXAA on.
  • Bottom right quadrant: FXAA off.

Developers

Viktor Enfeldt

Peter Meunier