120 likes | 179 Views
Explore Projection, Lighting, Transformation, Shading, and more in computer graphics theory using WebGL. Learn to write your own WebGL functions. Utilize course website for information, assignments, and demos like Ferris Wheel and Spaceships.
E N D
GraphicsCSCI 343, Fall 2019Lecture 1Introduction to GraphicsRead: Chapter 1 of textbook
Computer Graphics This course is about the theory underlying computer graphics: Projection Lighting Transformation Shading etc. This course is not about using applications (e.g. Photoshop) We will use WebGL to implement and learn the theory. The course is not about WebGL. At the end of the course you should be able to write your own WebGL functions.
Administrivia Most of the information about the course may be found at the course website: http://mathcs.holycross.edu/~csci343 This site contains the course information, course schedule, assignments, lecture notes and some links to other helpful sites.
Demos At the end of the course you will write a short animation program: Ferris Wheel Spaceships Quidditch
Uses of Computer Graphics We will discuss this in class
Graphics Systems Input (Keyboard or mouse) Central Processor (computer) Graphics Processor (graphics card) Frame Buffer (VRAM or DRAM) Monitor (pixelated image) A frame buffer stores the value for each pixel in the display. The bit depth is the number of bits used to specify the color of each pixel. 8 bits => 256 colors.
Using API's Classic Computer Graphics Course: First learn to draw lines, polygons, other 2D shapes. Takes a long time to get to 3D images. Using Advanced API's (application programming interface): Make use of drawing routines that are already implemented. Concentrate on modeling objects and scenes. We will use the WebGL library of functions. Based on OpenGL Used by many computer graphics programmers Relatively platform independent. Don't have to recompile for different systems Drawback: Not all systems will run it.
Light and Images Light emanates from a light source, bounces off objects and eventually some of it reaches the viewer (or camera). We will diagram this in class. You can use ray tracing to build up the image, but this is computationally expensive. We will assume uniform brightness of images for now.
The Synthetic Camera Model OpenGL uses a synthetic camera model to form images. We can diagram this as a pinhole camera. (We will draw this in class).
Computing Image Coordinates Given the coordinates of a point in space, we can compute its location on the image (we will do this in class).
Computing the Field of View We can also compute the field of view for a given image size (we will do this in class).
Problem: inverted image One problem with the pinhole camera model is that the image is upside down. Solution: (we will talk about this in class).