ENCT201
Computer Graphics and Visualization
Syllabus
- Introduction and Application (4 hours)
- History of computer graphics
- 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)
- Graphics pipeline: 2D viewing pipeline, 3D viewing pipeline
- Applications in various fields like medicine, engineering, art, uses in augmented and virtual realism
- Raster Graphics and Algorithms (9 hours)
- Rasterizing a point
- Rasterizing a straight line: DDA line algorithm, Bresenham's line algorithm
- Rasterizing a circle and an ellipse: mid-point circle and ellipse algorithm
- Scan-line polygon fill algorithm
- Scan-line fill of curved boundary areas
- Boundary-fill algorithm
- Flood-fill algorithm
- Point clipping
- Line clipping: Cohen-Sutherland, Liang-Barsky
- Polygon clipping: Weiler-Atherton polygon clipping
- Text clipping
- 2D and 3D Coordinate Systems and Viewing Transformations (9 hours)
- 2D transformation: translation, rotation, scaling, reflection, shear
- 2D composite transformation
- Window-to-viewport coordinate transformation
- 3D display methods: parallel projection, perspective projection
- 3D transformation: translation, rotation, scaling, reflection, shear
- 3D composite transformation
- Projection and viewing transformation
- Curve Modeling and Surface Modelling (4 hours)
- Introduction to parametric cubic curves, splines, Bezier curves
- Surface modeling: polygon surface, vertex table, edge table, polygon table, surface normal and spatial orientation of surfaces
- Visible Surface Determination (4 hours)
- Image space and object space techniques
- Back face detection, Z-Buffer, A-Buffer, scan-line method
- Illumination and Surface Rendering Methods (4 hours)
- Algorithms to simulate ambient, diffuse and specular reflections
- Constant, Gouraud, Phong and Fast Phong shading models
- Computer Animation and Visualization (5 hours)
- Computer animation functions
- Raster animations
- Key-frame systems
- Motion specifications: direct-motion specifications, goal-directed systems, kinematics and dynamics
- Latest Trends in Computer Graphics (6 hours)
- Interactive visualization
- Distributed scene rendering
- Augmented reality (AR), virtual reality (VR) and mixed reality (MR)
- Game development and real-time graphics
- Applications of AR, VR and gaming
Practicals
- Computations regarding raster graphics system: frame buffer size, color manipulation techniques, aspect ratio, refresh rate, resolution
- Implementation of studied algorithms to determine points for digitizing lines, circles, and ellipses
- Computational problems related to different clipping algorithms
- 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
- Transformation of object descriptions from the window coordinate system to the viewport coordinate system and problems related to parallel and perspective projection
- Calculation of the points required to construct different curves using the specified control points and desired number of line segments
- Calculation of the surface normal of polygons and evaluating visibility using various visible surface determination techniques
- Calculation of average intensity at a point on a polygon using Gouraud shading
- Development of a prototype project to demonstrate understanding of computer graphics concepts using frameworks such as Unity, Unreal Engine or WebGL