ENCT201

Computer Graphics and Visualization

Syllabus

  1. Introduction and Application (4 hours)
    1. History of computer graphics
    2. Overview of graphic systems: video display devices (raster-scan, random-scan, flat panel, three-dimensional viewing devices); graphics software and tools (coordinate representations, graphics functions, software standards, PHIGS workstations, DirectX, OpenGL, WebGL, Maya, Blender, Unity)
    3. Graphics pipeline: 2D viewing pipeline, 3D viewing pipeline
    4. Applications in various fields like medicine, engineering, art, uses in augmented and virtual realism
  2. Raster Graphics and Algorithms (9 hours)
    1. Rasterizing a point
    2. Rasterizing a straight line: DDA line algorithm, Bresenham's line algorithm
    3. Rasterizing a circle and an ellipse: mid-point circle and ellipse algorithm
    4. Scan-line polygon fill algorithm
    5. Scan-line fill of curved boundary areas
    6. Boundary-fill algorithm
    7. Flood-fill algorithm
    8. Point clipping
    9. Line clipping: Cohen-Sutherland, Liang-Barsky
    10. Polygon clipping: Weiler-Atherton polygon clipping
    11. Text clipping
  3. 2D and 3D Coordinate Systems and Viewing Transformations (9 hours)
    1. 2D transformation: translation, rotation, scaling, reflection, shear
    2. 2D composite transformation
    3. Window-to-viewport coordinate transformation
    4. 3D display methods: parallel projection, perspective projection
    5. 3D transformation: translation, rotation, scaling, reflection, shear
    6. 3D composite transformation
    7. Projection and viewing transformation
  4. Curve Modeling and Surface Modelling (4 hours)
    1. Introduction to parametric cubic curves, splines, Bezier curves
    2. Surface modeling: polygon surface, vertex table, edge table, polygon table, surface normal and spatial orientation of surfaces
  5. Visible Surface Determination (4 hours)
    1. Image space and object space techniques
    2. Back face detection, Z-Buffer, A-Buffer, scan-line method
  6. Illumination and Surface Rendering Methods (4 hours)
    1. Algorithms to simulate ambient, diffuse and specular reflections
    2. Constant, Gouraud, Phong and Fast Phong shading models
  7. Computer Animation and Visualization (5 hours)
    1. Computer animation functions
    2. Raster animations
    3. Key-frame systems
    4. Motion specifications: direct-motion specifications, goal-directed systems, kinematics and dynamics
  8. Latest Trends in Computer Graphics (6 hours)
    1. Interactive visualization
    2. Distributed scene rendering
    3. Augmented reality (AR), virtual reality (VR) and mixed reality (MR)
    4. Game development and real-time graphics
    5. Applications of AR, VR and gaming

Practicals

  1. Computations regarding raster graphics system: frame buffer size, color manipulation techniques, aspect ratio, refresh rate, resolution
  2. Implementation of studied algorithms to determine points for digitizing lines, circles, and ellipses
  3. Computational problems related to different clipping algorithms
  4. Solution of problems related to 2D and 3D transformations and matrix compositions, including fixed-point scaling, pivot-point rotation, and reflection across an arbitrary line
  5. Transformation of object descriptions from the window coordinate system to the viewport coordinate system and problems related to parallel and perspective projection
  6. Calculation of the points required to construct different curves using the specified control points and desired number of line segments
  7. Calculation of the surface normal of polygons and evaluating visibility using various visible surface determination techniques
  8. Calculation of average intensity at a point on a polygon using Gouraud shading
  9. Development of a prototype project to demonstrate understanding of computer graphics concepts using frameworks such as Unity, Unreal Engine or WebGL