100 likes | 133 Views
First Day Agenda. Best course you have ever had (survey) Info Cards Name, E-mail, Nickname C / C++ experience, EOS experience Pre reqs C / C++ experience essential CS 351 Organization This Course This should be a fun course We will study and implement algorithms
E N D
First Day Agenda • Best course you have ever had (survey) • Info Cards • Name, E-mail, Nickname • C / C++ experience, EOS experience • Pre reqs • C / C++ experience essential • CS 351 Organization • This Course • This should be a fun course • We will study and implement algorithms • We will not cover how to use Adobe Illustrator! • small group work • Projects • 2D, paint, 3D rendering, game? • OpenGL in the EOS Lab • Java3D? (small group study) • Research Opportunities • Student Scholarship Day Feb 9 • SURP Feb 1 • $2,500 for the summer
Introduction • Interview and introduce each other • Name • Major • Something unusual about you • Why are you taking this course? • Chapter 1 • skip 1.4, 1.5, 1.8
Applications (1.1) • Class Discussion • examples of computer graphics • Data visualization • Medicine • MRI, Cat Scan • CAD • VLSI Design • Business graphics • Flight simulation • Virtual Reality • Entertainment • Movies • Commercials • Games • Graphical User Interfaces
Graphics Hardware (1.2) • Processor • Memory • Frame Buffer • Location in memory that determines what will be displayed • Dedicated memory improves speed • VRAM - video random access memory • DRAM - dynamic random access memory • very expensive • Video Card • I/O Devices
Computer Displays • Raster based CRT screens • resolution refers to number of pixels • Bits Per Pixel Determine Color • Depth of the frame buffer • 1 bit - black and white • 8 bits - 256 colors • 16 bits - 64 thousand colors • 24 bits - 16 million colors (true color) • Refresh Rate • contents of frame buffer is redisplayed 50-85 times per second Hertz • this must be done fast enough to avoid flicker • RGB Color • each pixel is made of a red, green, blue component • genearally described with values 0-1 • Problem • How fast must memory be to read one pixel? • A resolution of 480 x 640 at 60 hz • A resolution of 1280 x 1024 at 72 hz
Image Formation (1.3) • Objects, Viewers, and Light determines an image • In graphics, we spend a great deal of attention creating artificial objects in the computer to display • Images are performed from the perspective of a viewer: human, computer, or camera. • The viewer actually creates the image • different viewers create diferent images of same scene • Light • Light is emitted from a source in ALL directions. Rays of light travel in straight lines • Light rays that make their way to the viewer determine was is seen. • Light rays bounce off of some objects and move through transparent objects • Human Visual System (1.4) Pinhole Camera (1.5) • not covered • Diagram of Eye, Object, Light source
Synthetic Camera (1.6) • Specification of objects is separate from viewer • A virtual camera is positioned in the environment • The camera lens is the center of projection • The ‘film’ is the projection plane. This is where the image is formed. It is generally placed in front of the camera or ‘eye’. • The size of the image is determined by the field of view or the size of the projection plane. • Hand Frame Analogy • cardboard cutout
Programmers Interface (1.7) • Images can be created on a computer by using existing software such as a paint program, no code is needed • The interface between a program and the graphics hardware is specified through a set of functions in a graphics library. • Ideally, the functions are defined in a system independent format. Otherwise, the code is not portable. • The specificiations are called an API: OpenGL, GKS, PHIGS, Java3D • Generic Methods • draw circle, draw line, set color • Hardware Independent
API Functions • We need functions to specify • objects • the viewer • position & orientation • light sources • position & color • material properties • color, texture, transparency, reflection • draw primitives such as points, lines, and polygons • Popular APIs are similar to each other. • Modeling-Rendering Paradigm • a useful separation occurs between creating and positioning objects in the scene and forming the image • the interface between the two can be as simple as a text file that describes the objects and light sources. • This allows highly interactive modelers to be used to create scenes and then powerful renders to create the image
Display Hardware(1.8) • Display Processors • It takes a lot of processing power to refresh the screen fast enough, special purpose processors can take care of that while the main CPU is busy with other things. These are the video cards. • The rest is on your own if interested • Pipeline Architecture • to really speed up the process we can divide it into several steps and use special hardware that performs the steps in sequence • Transformations • manipulating objects into different positions • Clipping • removing objects and portions of objects that can not be seen • Rasterization • covnerting the geomteric descriptions of objects into pixels. Determining which pixels to turn on and off.