particulars

lecturers:Mark Colbert, Jaakko Konttinen, and Musawir A. Shah
contact e-mail:colbert@cs.ucf.edu
location:Conference Room
Institute of Simulation and Training at Progress Drive
3280 Progress Drive
Orlando, FL 32826

overview

The following is an open seminar series on GPU programming. Each seminar will provide attendees with a broad range of information on GPU programming, and attendees are expected to use supplementary notes for further details of implementation. Attendees must have a basic knowledge of OpenGL or DirectX and be comfortable with linear algebra and geometric transformations. Strong knowledge of C\C++ is necessary.

Please Note: None of the techniques or algorithms taught during the seminar will be vendor specific, i.e. ATI or nVidia. nVidia software and hardware will be used, but all functionality is compatible with ATI, or other, hardware.

seminar 1

title:GPU Architecture and Cg
lecturer:Mark Colbert
time:May 12th - 1:00pm - 2:30pm
summary: Mark will present the general layout of the GPU architecture, with respect to the functionality available to the programmer. Advantages and limitations of the GPU will be discussed, including implications for General Purpose GPU, or GPGPU, programming. Additionally, he will outline the syntax for the higher-level GPU shading language, Cg, as well as demonstrate a “Hello World” example of a GPU shader within the framework of nVidia’s FX Composer.
notes:PowerPoint | FX File

seminar 2

title:Integrating Shaders into an OpenGL Application
lecturer:Mark Colbert
time:May 19th - 1:00pm - 2:30pm
summary: In this session, Mark will show how to build shaders into an OpenGL application, utilizing the Cg API. Additionally, he will demonstrate proper use of the accelerated data structures on the graphics card, such as Framebuffer Objects, and discuss fast paths for sending data to and fro the GPU.
notes:PowerPoint | Cg Example Program | Multiple FBO Program

seminar 3

title:Rapid DirectX Application Development
lecturer:Jaakko Konttinen
time:May 26th - 1:00pm - 2:30pm
summary: Jaakko will demonstrate how to exploit the DirectX Utility Library for rapid development of GPU-based graphics applications. He will explain the main classes and procedures of DirectX, which enable the user to quickly load, generate, and save data, such as meshes or textures.
notes:PowerPoint

seminar 4

title:Rendering with Spherical Harmonics
lecturer:Mark Colbert
time:June 2nd - 1:00pm - 2:30pm
summary: Mark will overview spherical harmonics based environment lighting for diffuse surfaces. He will outline the mathematical basis for the frequency-based environment lighting as well as provide intuitive explanations for the mathematics. For further details, please visit:
notes:PowerPoint | Spherical Harmonics Demo

seminar 5

title:Real-Time Caustics Rendering
lecturer:Musawir A. Shah
time:June 9th - 1:00pm - 2:30pm
summary: Musawir will present his work on caustics mapping, a physically based real-time caustics rendering algorithm. It utilizes the concept of backward ray-tracing, however it involves no expensive computations that are generally associated with ray-tracing and other such techniques. The main advantage of caustics mapping is that it is extremely practical for games and other interactive applications because of its high frame-rates. Furthermore, the algorithm runs entirely on graphics hardware, which leaves the CPU free for other computation. There is no pre-computation involved, and therefore fully dynamic geometry, lighting, and viewing directions are supported. In addition, there is no limitation on the topology of the receiver geometry, i.e., caustics can be formed on arbitrary surfaces and not just planar ones. Lastly, the caustics mapping algorithm does not hinder the rendering of other optical phenomenon, such as shadows, and hence can be integrated into current rendering systems easily. For further details, please visit:
notes:PowerPoint | Tutorial