Beyond programmable shading (parts I and II)
Paper in proceedings, 2009
There are strong indications that the future of interactive graphics programming is a more flexible model than today's OpenGL/Direct3D pipelines. Graphics developers need a basic understanding of how to combine emerging parallel programming techniques and more flexible graphics processors with the traditional interactive rendering pipeline. As the first in a series, this course introduces the trends and directions in this emerging field. Topics include: parallel graphics architectures, parallel programming models for graphics, and game-developer investigations of the use of these new capabilities in future rendering engines. This second course in the series Beyond Programmable Shading presents the state of the art in combining traditional rendering API usage with advanced task- and data-parallel computation to increase the image quality of interactive graphics. Leaders from graphics hardware vendors, game development, and academic research present case studies that show how general parallel computation is being combined with the traditional graphics pipeline to boost image quality and spur new graphics algorithm innovation. Each case study discusses the mix of parallel programming constructs, details of the graphics algorithm, and how the rendering pipeline and computation interact to achieve the technical goals. Presenters also discuss integrating a combination of GPU and CPU techniques for more efficient and flexible algorithms. The focus is on what currently can be done, how it is done, and near-future trends. Topics include: interactive realistic lighting, advanced geometry-processing pipelines, in-frame data structure construction, complex image processing, and rasterization versus ray tracing.