Sei sulla pagina 1di 67

Introduction to Computer Graphics

CS 351

Introduction to CG

Computer Graphics involves creation, display, manipulation and storage of pictures and experimental data for proper visualization using a computer Typical graphics system comprises of a host computer with support of fast processor, large memory, frame buffer and

Display Devices(monitors) Input Devices(mouse, keyboard, joystick, touch screen, digital pen, trackball) Output devices(LCD, laser & color printers, Plotters) Interfacing Devices(Video I/O, TV interfaces, etc)

Conceptual Framework for Interactive Graphics


Application Model Application Program Graphics System

Input Devices(Keyb oard)

Output Device(Monit or)

What drives computer graphics?

Typical Applications of Computer Graphics

Graphic al User Interfaces (GUI) interface or program that sits between user and graphics application program. Typical Components used in GUI

MENUS ICONS CURSORS DIALOG BOXES SCROLL BARS BUTTONS SKETCHING 3-D INTERFACES Slide information from Leonard McMillian's slides
http://www.cs.unc.edu/~mcmillan/comp136/Lecture1/compgraf.html

Example of a GUI available in Adobe Acrobat Reader

Other Typical applications of CG


Business Plotting Office Automation Desktop publishing Plotting in Science and Technology Web/Business/Commercial publishing and advertisements Engineering Applications CAD/CAM Design(Ex- VLSI, Constructions, Circuits) Scientific Visualization(Effects of bombs, biological simulations, etc) Cartography

Other Typical applications of CG


Simulations & Simulators Multimedia Virtual Reality Process Monitoring(Ex- Chemical Process, Sensors, Circuits) Digital Image Processing Educational and Training

Digital Image Processing

Image Representation
Sampling Reconstruction Quantization

& Aliasing

Image Processing
Filtering Warping Morphing Composition

What drives computer graphics?

Movie Industry

Leaders in quality and artistry Not slaves to conceptual purity Big budgets and tight schedules Reminder that there is more to CG than technology Hey, How'd they do that? Defines our expectations

Slide information from Leonard McMillian's slides http://www.cs.unc.edu/~mcmillan/comp136/Lecture1/compgraf.html

What drives computer graphics?

Game Industry

The newest driving force in CG


Why? Volume and Profit This is why we have commodity GPUs

Focus on interactivity Cost effective solutions Avoiding computating and other tricks Games drive the baseline

Slide information from Leonard McMillian's slides http://www.cs.unc.edu/~mcmillan/comp136/Lecture1/compgraf.html

What drives computer graphics?

Medical Imaging and Scientific Visualization

Tools for teaching and diagnosis

No cheating or tricks allowed

New data representations and modalities Drive issues of precision and correctness Focus on presentation and interpretation of data Construction of models from acquired data

Nanomanipulator, UNC Joe Kniss, Utah Gordon Kindelman, Utah

What drives computer graphics?

Computer Aided Design


Mechanical, Electronic, Architecture,... Drives the high end of the hardware market Integration of computing and display resources Reduced design cyles == faster systems, sooner

ProEngineer, www.ptc.com

Various application packages and standards available


Core Graphics GKS SRGP PHIGS, SPHIGS and PEX 3D OpenGL(with ActiveX and Direct 3D) X11- based systems(OpenGL on Linux)

GKS Graphics Kernel System By ISO(International Standards Organizations) & ANSI(American National Standards Institute) Replaced by SRGP Simple Raster Graphics Package Replaced by PHIGS Programmers Hierarchical Interactive Graphics System Replaced by OpenGL(Open Graphics Library)

How to use OpenGL

Download Device Drivers, Library files, Header files of OpenGL for corresponding systems i.e. either windows or Linux and Display Adapter card that is used. Once you have compiler on top of Visual Environment like .net in windows system or new environment based on X11 for Linux, you will be able to write your own graphics programs on OpenGL .

Tools, Utilities and Compilers

Various utilities and tools available for webbased design includes: JAVA, XML, VRML(Virtual Reality Modeling Language) and GIF animators. Certain compilers, such as Visual C/C++, Visual Basic, Borland C/C++. Borland Pascal, Turbo C, Turbo Pascal, Gnu C/C++, JAVA provide their own graphical libraries, APIs, support and help for programming 2-D and 3-D graphics. Some of these systems are deviceindependent (OpenGL, X11) and devicedependent(Solaris, HP-AGL)

Four Basic output primitives(or elements) for drawing pictures


Polylines ((x1,y1), (x2,y2).. (xn,yn) ) Filled Polygons Ellispe(arc) (circle is a special case of ellipse) Text Raster Image (digital images of JPEG, JPG, GIF, BITMAP ,etc format)

Four Major Areas of Computer Graphics


Display of Information Design/ Modeling Simulation and User Interfaces

Active and Passive Graphics System


CG Systems could be active or passive In both cases, the input to the system is the scene description and output is a static or animated scene to be displayed In case of active systems, the user controls the display with the help of a GUI, using an input device(Ex- Video Games) In passive systems no control over display(Ex- TV)

Various Fundamental Concepts and Principles in CG

Display Systems

Storage displays, Random scan, Raster refresh displays, CRT basics, video basics, Flat panel displays Affine Transformations(2-D & 3-D) : Rotation, Translation, Scale, Reflection and Shear. Viewing Transformation : The Camera Transformation s perspective, orthographic, isometric and stereographic views, Quaternion

Transformations Manipulating objects


Scan Conversion and Clipping

Drawing of Points, Lines, Markers, Curves, Circles, Ellipse, Polyline, Polygon, Area filling, fill style, fill pattern, clipping algorithms, anti-aliasing etc.

Hidden Surface Removal

Back face culling, Painters Algorithm, scan-line algorithm, BSP-trees, Z-buffering/sorting, Ray tracing etc.
Phongs shading model, texture mapping, bump mapping, Gouraud shading, shadows and backgroud, color models etc.

Shading & illumination

Curves and Surfaces

Bezier Curves, B-Splines, Cubic-Splines, Quadratic surfaces, parametric and nonparamertic forms, hermite curves etc.

What is Computer Graphics?

Look at 5 areas

Hardware Rendering Interaction Modeling Scientific Visualization

Slide information from Richard Riesenfeld

Hardware: Amazing Changes

Fundamental architecture shift

Dual computing engines:


CPU and GPU More in GPU than CPU

Hardware: Amazing Changes

Fast, cheap GPUs

~$300

Cheap memory Displays at low cost

How many monitors do you have/use?

Hardware: Amazing Changes


Wired -> Unwired World of Access

Hardware... some not so good


Devices 3D displays Etc

Hardware

How old is Nvidia How big is Nvidia QED

Rendering

Many think/thought graphics synonymous with rendering Well researched


Working on second and third order effects Fundamentals largely in place

Rendering

Major areas:

Ealiest: PhotoRealism Recent: Non-Photorealistic Graphics (NPR) Recent: Image-based Rendering (IBR)

Rendering

Ray Tracing has become practical


Extremely high quality images Photorealism, animation, special effects

Accurate rendering, not just pretty

Rendering Realism

Morning

Evening

a preetham, e

Rendering Realism

Cornel Measurement Lab

Rendering Realism

Real

Synthetic

Shirley, et. al., cornell

Is this real?

m fajaro, usc

Terrain Modeling: Snow and Trees Added

s premoze, et.al., utah

Growth Models

o deusson,

Rendering/Modeling Hair

QuickTime and a Photo decompressor are neede d to see this picture.

QuickTime and a Video d ecompressor are neede d to see this picture.

http://www.rhythm.com/~ivan/hairRender.html

Humans

Final Fantasy (Sony)

Jensen et al.

Is Photorealism Everything?

Is Photorealism Everything?

Non-Photorealistic Rendering

b gooch, et.al., utah

Tone Shading

a gooch, et. al., utah

NonPhotorealistic Rendering

Image Based Rendering


Model light field Do not have to model geometry Good for complex 3D scenes Can leave holes where no data is available

3D Scene Capture

Fuchs et.al., UNC

UNC and UVA

3D Scene Recreation

Faugeras et. al

360o Scan

p willemsen, et. al., utah

Interaction

Way behind rest of graphic's spectacular advances Still doing WIMP:

Windows, icons, menus, pull-downs/pointing Turns out to be one of hardest problems

Once viewed as soft research

Interaction still needs...


Better input devices Better output devices Better interaction paradigms Better understanding of HCI

Bring in psychologists

Modeling

Many model reps

Bezier, B-spline, box splines, simplex splines, polyhedral splines, quadrics, super-quadrics, implicit, parametric, subdivision, fractal, level sets, etc (not to mention polygonal)

Modeling

Physically based

Newton Behavior as well as geometry Metal, cloth, organic forms, fluids, etc

Materials

Procedural (growth) models

Modeling... is hard

Complexity Shape Specifying Realistic constraints Detail vs concept Tedious, slow

s drake, et. al., utah

Modeling is hard

Mathematical challenge Computational challenge Interaction challenge Display challenge (want 3D) Domain knowledge, constraints

Growth Models

o deusson,

Model Capture

marc levoy, et. al., stanford

Models

D Johnson and
J D St Germain, Utah

Russ Fish et al., Utah

Scientific Visualization

QuickTime an d a YUV420 codec decompressor are need ed to see this picture.

National Library of Medicine

Johnson et al., Utah

Visual Human

In This Class

Review rasterization, modeling, viewing, lighting, texture mapping and raytracing GUI and Interaction in three-dimensions

Required Books

Optional

Each class

Based-upon reading assignment


Quiz Roundtable:

What you found to be the most interesting in the reading What confused you or topic(s) you want more discussion on

Each class (cont.)


Lecture and discussion 20 minute or less viewing of an animation Project discussion and help session At least one 15 minute break in the middle

Projects

C or C++ Chinese-Resturaunt menu like

Project Rules
Failure to follow these rules will result in lost points: If you use code from elsewhere, it must be documented in your README If you use ideas from printed paper or online material, must credit it Projects must compile and run on the designated machine

Grades

Class participation Quizes Late projects loose 5% on first 12 hours, 10% every 12 hours after that You can miss

Can drop lowest quiz score Can miss one class without loosing participation points

What is Computer Graphics?

Creation, Manipulation, and Storage of geometric objects (modeling) and their images (rendering) Display those images on screens or hardcopy devices Image processing Others: GUI, Haptics, Displays (VR)...

Potrebbero piacerti anche