Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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)
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
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
Simulations & Simulators Multimedia Virtual Reality Process Monitoring(Ex- Chemical Process, Sensors, Circuits) Digital Image Processing Educational and Training
Image Representation
Sampling Reconstruction Quantization
& Aliasing
Image Processing
Filtering Warping Morphing Composition
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
Game Industry
Focus on interactivity Cost effective solutions Avoiding computating and other tricks Games drive the baseline
New data representations and modalities Drive issues of precision and correctness Focus on presentation and interpretation of data Construction of models from acquired data
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
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)
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 .
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)
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)
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)
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
Drawing of Points, Lines, Markers, Curves, Circles, Ellipse, Polyline, Polygon, Area filling, fill style, fill pattern, clipping algorithms, anti-aliasing etc.
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.
Bezier Curves, B-Splines, Cubic-Splines, Quadratic surfaces, parametric and nonparamertic forms, hermite curves etc.
Look at 5 areas
~$300
Hardware
Rendering
Rendering
Major areas:
Ealiest: PhotoRealism Recent: Non-Photorealistic Graphics (NPR) Recent: Image-based Rendering (IBR)
Rendering
Rendering Realism
Morning
Evening
a preetham, e
Rendering Realism
Rendering Realism
Real
Synthetic
Is this real?
m fajaro, usc
Growth Models
o deusson,
Rendering/Modeling Hair
http://www.rhythm.com/~ivan/hairRender.html
Humans
Jensen et al.
Is Photorealism Everything?
Is Photorealism Everything?
Non-Photorealistic Rendering
Tone Shading
NonPhotorealistic 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
3D Scene Recreation
Faugeras et. al
360o Scan
Interaction
Better input devices Better output devices Better interaction paradigms Better understanding of HCI
Bring in psychologists
Modeling
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
Modeling... is hard
Modeling is hard
Mathematical challenge Computational challenge Interaction challenge Display challenge (want 3D) Domain knowledge, constraints
Growth Models
o deusson,
Model Capture
Models
D Johnson and
J D St Germain, Utah
Scientific Visualization
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
Quiz Roundtable:
What you found to be the most interesting in the reading What confused you or topic(s) you want more discussion on
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
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
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)...