CS 485 Spring 2010, Assignments
Our TA is: Marshall Riley (mriley@cs.siu.edu). His office
hours
are:
MW 11:00-12:00 in FANER 3129 and TR 3:00-4:00 in CASA 104.
Read Chpt 1: Intro to Graphics and Graphics
Systems.
Some interesting applications of computer graphics:
ACM's special interest group on
graphics, SIGGRAPH has a big conference every summer with
a student
volunteer
program.
Check it out!(FAQ
Deadline is 15 February 2010)
Some of the topics we've been covering: CRT, raster & random
refresh, Graphics Pipeline, Modeling and Rendering, Graphics API.
I mentioned 3D printers and you may be interested in the
following sites for more information (RepRap, CandyFab). We also spoke
about pdf
and renderman
acting as interfaces between modeling applications and renders. (PDFBox - open source Java PDF
library, Blender is an open source graphics app with
modeling/rendering/animation features
that can export Renderman)
Begin reading Chpt 2: Graphics Programming. After
our quick
introduction to programming 2D
graphics with Java, we will have more perspective when
considering graphics api options. We meet in the Lab (Faner 2102)
Friday 1/29.
An example given as a zip file
which can be
imported as an Eclipse project is provided. If you haven't used Eclipse
before, brief instructions on importing
a
Java
OpenGL
project
under
Eclipse are given. Note that,
Java2D is already included in Java so no extra libraries need to be
loaded (JOGL does require extra libraries). For additional information
on Java 2D graphics see Sun's
tutorial
on
Java
2D. as well as a chapter on
Java 2D graphics from "Core
Web
Programming" (may be dated).
Next we turn our attention to OpenGL.
To
access
OpenGL
with
Java,
we
use
JOGL
(
JSR
231
javadoc and JOGL
(Java
OpenGL)
User
Guide). The OpenGL
Programming
FAQ as well as the online verisons of older editions of
the OpenGL
Ref.
Manual and OpenGL
Prog.
Guide are useful sources of information. JOGL
Test instructions
If you are thinking about developing OpenGL
code with C/C++, take a
look at the draw example application implemented using C and GLUT
in the file draw.c.
Jogl JSR 231 1.1.1 also has a glut
object which has routines for rendering text. Jogl also gives the
option of using fonts available through Java with the TextRender
class. The Opcion (open
source Java) project lets you examine the fonts available on your
system.
Begin reading Chpt 2: Graphics Programming. After
our quick
introduction to programming 2D
graphics with Java, we will have more perspective when
considering graphics api options. We meet in the Lab (Faner 2102)
Friday 1/29.
Read Chpt 3:
Interaction,
logical & physical devices, event processing. Display lists,
graphics client/server. Ideas for picking using different methods.
Begin reading about transforms in Chpt
4. We
are only looking at 2D transforms for the moment. We discussed how
transforms can be represented with matrices and combined together.
Hw1 was assigned - due Wed, Feb 24
We discussed how to
determine if a polygon is convex, tessellation
and
winding
numbers.
Handouts on doing polygon tesselation with OpenGL glu routines and
picking with OpenGL names and select mode were covered. More
discussion about OpenGL
picking can be found in the
OpenGL Programming Guide (link
to the pick chapter) and this online tutorial at
Lighthouse3D.
Exam 1 will be on Mon, March 1.
We will review for the exam on Friday, Feb. 26
Next we start looking at 3D Modeling and viewing
3D transforms, including rotations about an arbitrary axis and
quaternions (Chpt 4).
Chapter 5 of the text
covers positioning the camera and projections. (gluLookAt,
gluPerspective,
glOrtho,
glFrustrum
etc.)
We introduced 2D texture
also covered in the text in sections 8.7.1, 8.8.1-4 (glTexCoord,
glTexParameter
( CLAMP, REPEAT ) etc.)
Read sections 7.3-6
about clipping (region codes, line
clipping, polygon clipping, bounding extents and other primitives)
Read about hidden surface removal in section 7.11.
Quadtrees and Octrees are described in section 10.12.3
Exam 2 will be on Mon, April 12.
(Review on Friday, April 9)
3D object representations, Constructive Solid Geometry, Ray Tracing
(Sec 13-13.3.1, 10.12.1)
You might also look at the documentation for POVray
available online and
through
the
program
itself.
Lab 5: Making a Movie:
Part 1
(must work in groups 2-3) due start of class, Wed., April 28
We continue to explore how to
make more realistic images.
Lighting and Shading Models
(Sect 6-6.3.3: specular, diffuse, light sources, lighting formula,
important vectors)
local vs. global illumination
Friday, April 30th, meet in the CS Conference Room in Faner (Animation)
Transparency and alpha, alpha as a measure of pixel coverage,
anti-aliasing, nyquist frequency, super
sampling, subpixels
Figure 8.29 in the text gives a nice illustration of aliasing that can
occur in patterns as a perspective project increases the signal
frequency
Read sections 7.12, 8.11.4, 8.13.1
Color blending with alpha (finding a pixel's color by blending
foreground and background color using alpha)
Seed fill algorithms (flood and boundary) (practice
examples) Section 7.10.4
Intermediate texture objects, layered textures, bump mapping,
solid/procedural textures Section 8.7,8.12.2
Animation (key frames, inbetweening, kinematics/inverse kinematics),
section 10.6,
layered tracks, masks
3d object representations (height fields, sweeps, meshes, physical
modeling - particle systems, flocks/herds, fractals etc.)
Sections 11, 5.7
Bezier curves (control points, convex hull, interpolation vs.
approximation, subdivision, computing by hand) Sections 4.1.8, 12.6.1,
12.2
You can get hands-on experience with
many of the topics listed above, using POVray.
Line rasterization methods (y=mx+B, DDA, midpoint/Bresenham's) Sections
7.8-9
Class meets in the CS Computer Lab (Faner 2102) on Friday,
May 7 for Movie Day. All Lab 6 materials should be ready to demo at
this time. Each group should should submit a CD with all their
materials.
|
Lab 6: Making a Movie:
Part 2
(must work in groups 2-3) due start of class, Friday, May 7
Quadtrees and Octrees are
described in section 10.12.3
Exam 3 is Friday morning, May 14
(scheduled at 7:50 but it won't require
the full amount of time). Recommended start time is 8:15a. Exam will emphasize material since
the last exam.
A page showcasing the movies created
by the class for lab 6. You might also enjoy seeing "Pigeon Impossible" an
award winning short made with computer graphics.