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 .