Lecturer Athanasios Nikolaidis
Computer Graphics: Graphics primitives 2D viewing and clipping 2D and 3D transformations Curves and surfaces Rendering and ray tracing Illumination models Shading models Texture mapping Computer animation
Multimedia Applications: Coding of audio-visual objects (MPEG-4) Multimedia content description interface
(MPEG-7) Multimedia information retrieval Multimedia framework (MPEG-21) Digital rights management
Peter Shirley, Steve Marschner, Fundamentals of Computer Graphics, CRC Press, 2009.
Shalini Govil-Pai, Principles of Computer Graphics: Theory and Practice Using OpenGL and Maya®, Springer, 2004.
David Salomon, Curves and Surfaces for Computer Graphics, Springer, 2006.
Iain E.G. Richardson, H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia, Wiley, 2003.
Introduction to MPEG 7: Multimedia Content Description Interface, edited by B.S. Manjunath, Philippe Salembier and Thomas Sikora, Wiley, 2002.
The MPEG-21 Book, edited by Ian S. Burnett, Fernando Pereira, Rik Van de Walle and Rob Koenen, Wiley, 2006.
Synthetic images (images created using computers)
Digital “illustration of life”
Pixar’s first film, (“Luxo Jr.”, 1986)
Creation of an image
Movies Games Simulation CAD-CAM Architecture Virtual Reality Visualization Medical Imaging
Parallel to the history of computers: Pen plotters Simple displays using A/D converters
Wireframe graphics: Drawing only lines
Sketchpad A PhD at MIT (Ivan Sutherland, 1963) Predecessor to GUI, OOP
Raster graphics: Image as an array of picture elements (pixels) contained
in the frame buffer Not just lines anymore: filled shapes
Realistic graphics
smooth shading environment mapping bump mapping
OpenGL (API by SGI) Computer-generated full length movies (Toy Story)
Hardware with more features (texture mapping, blending, stencil buffers, etc.)
Photorealism Graphics cards for PCs (NVIDIA, ATI, etc.) with GPUs Game boxes and players determine market directions Software used on industrial level (Maya, Lightwave, etc.) Programmable pipelines
OpenGL (SGI) Direct3D (Microsoft) RenderMan Interface Specification (Pixar)
Modeling: mathematical representation of objects
Rendering: turning models into images Animation: the above plus movement
(change in time)
The programmer’s point of view: Specify geometric objects Describe their properties Define how they should be viewed Move either camera or objects around for
animation
The process of converting a set of 3D primitives to a corresponding set of 2D pixels to be displayed as output (using graphics hardware)
It is not efficient to render whole curves and surfaces directly
Basic geometric objects handled by graphics hardware. Can be points, line segments, circles, polygons, etc.
(most usual: triangles). More complex objects can be constructed based on
primitives.
RGB Color Texture Pattern
Ambient: same at every point on the surface Diffuse: scattered light independent of
angle (rough)
Specular: dependent on angle (shiny)
Most common are point sources
Rotation Translation Scaling
An object can be viewed from different angles:
Reproduce the effect of taking a photograph
Objects farther away are smaller in size Lines from each point on the image are drawn through
the center of the camera lens (the center of projection (COP)).
Camera positioning just results in more transformations on the objects: Transformations that position the object relative to the
camera Handled in the transformation process in the pipeline
up COP eye
What is visible on the screen?
If we draw objects directly, our screen will be a “mess”. Remove hidden surfaces.
Transforms pixel values in world coordinates to pixel values in screen coordinates
Delicate 3D models Perspective Hidden surface removal Shading (lighting & reflection) Shadow Detailed textures and normals