Survey of Computer Graphics Programming Languages

Download Report

Transcript Survey of Computer Graphics Programming Languages

Survey of Computer Graphics Programming Languages
Jerry Yee
November 30, 2004
Computer Graphics Programming Languages
•Why do we need them?
To make cool films like The Lord of the Rings: The
Two Towers (920 special effect shots, 10 months to
render on 1000 Linux workstations)
To provide an abstraction for 3D modeling,
animation, scientific visualization because
programming in a general programming language is
inefficient and not very intuitive.
•Some Languages: OpenGL, Cg, VRML, Fran
•Design Goals: ease of use, portability,
scalability, extensibility, well documented
OpenGL (Open Graphics Library)
•Application programming interface for 3D
modeling and animation
•Supported across most operating systems
•API is available for C, C++, Java, Fortran,
and Ada programming languages.
•Key Design Goals: ease of use, portability,
openness, extensibility
Cg (C for Graphics)
•Primarily a shading language (describes how
to fill display pixels)
•Designed to program NVIDIA’s
programmable graphical processing units
(GPU)
•Uses OpenGL API for 3D modeling
•Key Design Goals: to support GPU features,
to be a general programming language for
GPUs, extensibility
VRML (Virtual Reality Modeling Language)
•Designed to model 3D scenes over the
Internet
•Supports object manipulation and animation,
allows the viewer to move about in the scene
•Key Design Goals: performance, portability
Fran (Functional Reactive Animation)
•Designed for 3D modeling and reactive
animation
•Embedded in the Haskell functional
programming language
•Design Goals: Ease of construction,
composability, and regulation of sampling
rates for animation
Why OpenGL?
OpenGL was designed to be open and available on a wide
range of systems.
The OpenGL Architecture Review Board (ARB) consists
of representatives from industry, universities, and
private research groups.
The OpenGL ARB gathers a wide range of feedback and
modifies OpenGL according to industry needs.
OpenGL is the oldest of the four languages surveyed
here (released in 1992).