CSE 483 Computer Science Eng -- Computer Graphics
Fall 2015-16
Date and Place
Mon: 15:30-17:30, MC270
Wed: 12:30-13:30pm, MB655
Instructor: Dr M Sakalli
Email: [wildSolarianTree] at.gmail and .com
Office: Eng Building MB Level4-250
In brief
This course aims an introductory startup to the fundamentals of contemporary computer graphics in
the context of algorithms and computational methodoligies for various representations.
The Purpose
To provide an introduction to computer graphics and the typical models of
applications, with the basic representations and the fundamental algorithms.
To expose students to the state-of-the-art methods in a variety of domains.
Lecture Notes
Short History and Math and HW, in pdf format
Transformations, in pdf format..
Rasterization, Bresenham's Line drawing, from algorithmic analysis point of view..
clipping.
Coordinate systems, and ray tracing..
Programming HW1
1- Read your image and rotate at an angle of choice to be entered from the console.
2- You are given three codes providing you a canvas, all written in different timescales in C, the third one is teh repitation of the second one, which is obsolete.
a) -
the first one is drawing a circle, modify it to obtain ellipse for example... and draw other geometric figures.
b) - the 2nd
drawing polygons controled by the mouse.. Modify the program to fill the inside and outside regions of figures.
c)
Study data file formats in ply and in obj for now, as given below.
b) - the 3rd
needs to be corrected to see the output at the monitor, and file is reading and generating obj files..
Study data file formats in ply and in obj for now, as given below.
Programs obtained from Berkeley, Prof Ross Ravi Ramamoorthi's Materials ..
and at github..
Note: Your mark will be determined with all the projects submitted and your academic involvement and after an interview one by one.
Programming HW2 and midterm project
1- Evaluate from Nate Robin's projection code for the coordinate systems. You are responsible form all of these.
what to do: Modify projection.c to obtain 6 viewports (or viewplanes)... for given objects.. a different version, do yourown net digging yourself, many other modified versions available.
2- Evaluate this texture mapping code as well, and other course materials.
a-) Implement it such that each face of the frustum will have different pictures of your choice, (glaux is given for reading bitmap in one line!! there must be other possibilities for other imaging formats for example jpeg?..) and,
b) Evalaute how to control the motion induced. You must be able to change the motion interacting with mouse, or keycontrol and be able to induce a different choice of the motion.
Additional Links for those of you interested in opengl es version of texture mapping,>
reading pixar renderman, and
the code of sketch repoto, and,
3- You will be given a third project.
4- For your final project you may come up with your own idea, for example consider music driven instruments or utensils-objects or the otherway around,pixel driven.. etc.
Data file formats
Paul Bourke Prof of UNSW. OBJ and
PLY file formats, and
Marc Benjamin Zinck
Others,
Wavefront OBJ File,
Object Oriented Graphics Library,
Persistence of Vision ray-tracer,
2d, and
3din general and again OBJ file format information including Hermite and Bezier curve.
3D Object files you should copy,
Additional links
Building OpenGL/GLUT
*1* as I showed Last Monday the step I took, for VS10,
*2*
, just in case information for linux and others, you might need to look at.
You should check these
c++, advanced applications...
and you are expected to complete the first three application including transformations,
and go through
GL display,
and
vertex buffer object ,
and
pixel buffer object.
Teapot and many other interesting applications GLSL..
GL programming, materials and examples.. and
GLM:OpenGL Math and GLSL.. and
texture creation..
Opengl shader designer...
3d Game programming, and much more...
and Wiki Codes,
game sources, shaders...
More Links
Prof Brian J. Ross Materials..
Please implement
Tous les exemples du Redbook avec images, c programs very helpful
Simple OpenGL Image Library
Just for the freeImage-glut inst
Perlin
Graphics obj files already converted from other formats, and check for other additional programs.
3d Obj files
OpenGL C Examples ..
Wikipedia OpenGL history
Glut glossary
While you are creating yourown sln file.
For the codes received from the other sources, you should create yourown sln to avoid version dependencies instead of running your code from already sln or vcproj of files..
-If you receive Link 1123,
this link was helpful for me, on cvtres.exe..
- in case if you need,
to install glut in windows, and there at the bottom, the links
glut-3.7.6 to download .