
cudaraster
"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.