1 / 8

CS662 Computer Graphics Game Technologies

CS662 Computer Graphics Game Technologies. Jim X. Chen, Ph.D. Computer Science Department George Mason University. Contents. Tentative Alan Watt and Fabio Policarpo, Advanced Game Development with Programmable Graphics Hardware Games we are interested in implementing Technical approaches

Télécharger la présentation

CS662 Computer Graphics Game Technologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University

  2. Contents • Tentative • Alan Watt and Fabio Policarpo, Advanced Game Development with Programmable Graphics Hardware • Games we are interested in implementing • Technical approaches • Survey and presentation

  3. Introduction and Cg Programming • The Hardware Model (Fig. 1.1, P3) • GPUs are highly programmable • They can carry out general computation • NVIDIA’s Cg, OpenGL 2.0’ Shading Language (GLSL), and DirectX 9’s High Level Shading Language (HLSL) – they are similar • “Shader” signifies a vertex, or a pixel or both together • The output of fragment program is a value for a pixel

  4. The Hardware Model • GPU programming involves a vertex program and/or a fragment program. • Cg is not application specific, may be used for parallel computing, for example. • GPGPU – general purpose computation on GPU.

  5. The Hardware Model • Vertex processor • Transformation, primitive assembly (lines, polygons), clipping, rasterization resulting in a set of pixel locations and fragments • A fragment is a potential pixel • Fragment processor • Fragment operations such as texture mapping. Result imy be a color (framebuffer) and a value (z-buffer) • Example: Gouraud shading and Phong shading • Gouraud shading needs vertex processor to calculate lighting at a vertex • Phong shading needs a fragment processor to calculate lighting at a pixel

  6. Programming Overview • The Programming Model (Fig. 1.2, P6) • Data is streamed into the processor and operated on by a kernel function (fragment program) • Up to 16 arithmetic processors operate on the stream, and each data element is processed in parallel • There is no dependencies between elements • A shader is written to operate on a single vertex or fragment and is executed on every vertex or fragment

  7. The Programming Model • Parallelism works in rendering and related applications that have no communication between processes • GPU fragment programs reads from texture maps and write to the framebuffer • May need to copy the results from the framebuffer back to texture maps. • Hardware limits are expressed by profiles

  8. The Languages

More Related