cudaraster


Open-source implementation of "High-Performance Software Rasterization on GPUs"

Source code for the fast GPU-based software rasterizer described in the following paper:

"High-Performance Software Rasterization on GPUs",
Samuli Laine and Tero Karras,
Proc. High-Performance Graphics 2011
http://research.nvidia.com/sites/default/files/publications/laine2011hpg_paper.pdf

Abstract

In this paper, we implement an efficient, completely software-based graphics pipeline on a GPU. Unlike previous approaches, we obey ordering constraints imposed by current graphics APIs, guarantee hole-free rasterization, and support multisample antialiasing. Our goal is to examine the performance implications of not exploiting the fixed-function graphics pipeline, and to discern which additional hardware support would benefit software-based graphics the most.

We present significant improvements over previous work in terms of scalability, performance, and capabilities. Our pipeline is malleable and easy to extend, and we demonstrate that in a wide variety of test cases its performance is within a factor of 2-8x compared to the hardware graphics pipeline on a top of the line GPU.

New in version 1.1

  • Fix incorrect pixel coverage computation with CUDA 4.1 and above.
  • Fix incorrect ROP ordering with Kepler-based GPUs.
  • Switch to New BSD License (previously Apache License 2.0).
  • Upgrade to Visual Studio 2010 (previously 2008).
  • Support PNG textures through lodepng.
  • Fix a CUDA compilation issue with Visual Studio Express.
  • General bugfixes and improvements to framework.

System requirements

  • Microsoft Windows XP, Vista, or 7.
  • At least 1GB of system memory.
  • NVIDIA CUDA-compatible GPU with compute capability 2.0 and at least 512 megabytes of RAM. GeForce GTX 480 is recommended.
  • NVIDIA CUDA 4.0 or later.
  • Microsoft Visual Studio 2010. Required even if you do not plan to build the source code, as the runtime CUDA compilation mechanism depends on it.

Developers

  • Tero Karras
  • Samuli Laine

Acknowledgements

  • University of Utah for the Fairy model.
  • Brian Curless and Marc Levoy the Happy Buddha model.

Project Information

The project was created on Jun 1, 2011.

Labels:
Academic Research 3D GPU Cuda Fermi