MU4151 Advanced Graphics and Animation Syllabus:

MU4151 Advanced Graphics and Animation Syllabus – Anna University PG Syllabus Regulation 2021

COURSE OBJECTIVES:

 To understand the basics of geometry processing.
 To understand the fundamentals of pipelined rasterization rendering of meshed objects and curved surfaces.
 To understand and work with advanced rendering methods such as radiosity.
 To design programs for advanced animation methods.
 To become proficient in graphics programming using OpenGL

UNIT I FUNDAMENTALS

Basics – Scope and Applications – Graphics Standards – Display Systems – Image Formation – Graphics Systems – 2D and 3D Coordinate Systems – Vectors – Matrices and Basic Vector/Matrix Operations – Line Drawing – Object Representation – Anti-Aliasing.
Suggested Activities:
1. Practical – Basic application to be implemented for vectors and matrices.
2. Practical – Apply various implementations of the graphics algorithms and analyze.
3. Practical – Execute some shader application and fix the warnings and errors
Suggested Evaluation Methods:
1. Quiz to check the understanding of the graphics concepts (like graphics hardware, displays and standards).
2. Assessing the understanding of various basic graphics algorithms through programming assessment by using vectors and matrices

UNIT II TRANSFORMATIONS

2D and 3D Geometric Transformations: Translation, Rotation, Scaling, Affine – Hierarchical Modelling & viewing – The Camera Transformation – Perspective – Orthographic and Stereographic Views.
Suggested Activities:
1. Flipped classroom on rasterization.
2. Practical – Execute any shader application and set viewports, windows, draw polylines and explore the keyboard and mouse interaction routines.
3. Familiarize with transformations and hierarchical in OpenGL using a matrix stack
Suggested Evaluation Methods:
1. Quizzes on rasterization schemes.
2. Assessing the understanding of the basic elements available in the OpenGL environment through the programming structs.
3. Demonstration on transformations hierarchies using matrix stack.

UNIT III FRACTALS

Fractals and Self Similarity – Peano Curves – Creating Image by Iterated Functions – Mandelbrot Sets – Julia Sets – Random Fractals – Intersecting Rays with Other Primitives – Reflections and Transparency – Boolean Operations on Objects and its Applications.
Suggested Activities:
1. Flipped classroom on various algorithms used to generate the fractals.
2. Practical – Generation of fractals using Python and Numpy
3. Practical – Run any shader application and set viewports, windows, fractal rendering and explore the keyboard and mouse interaction routines.
Suggested Evaluation Methods:
1. Quiz on Fractals.
2. Demonstration the generation of fractals using Python and Numpy.
3. Assessing the understanding of generation of fractals by changing the various parameters in the OpenGL environment through the programming structs.

UNIT IV ADVANCED GRAPHICS

Hidden Surface Removal– Parametric Curves and Surfaces– Global Illumination – Ray Casting – Monte Carlo Algorithm – Texture Synthesis – Bump Mapping – Environmental Mapping –Advanced Lighting and Shading – Shadows –Volumetric Rendering.
Suggested Activities:
1. Flipped classroom on Texture Synthesis and photo realistic rendering
2. Run the shader application and add the texture and shadow.
3. Analyze a few more shaders – Toon/Cell, Cook-Torrance, Oren-Nayar, Gradient.
Suggested Evaluation Methods:
1. Quiz on advanced graphics techniques (like texture synthesis and photo realistic rendering).
2. Demonstration of shader application exploring texture and shadow features.
3. Discussion on bi-directional reflectance distribution function after analyzing the various shader models.

UNIT V ANIMATION

Overview of Animation Techniques – Keyframing, Computer Animation – Motion Capture and Editing–Forward/Inverse Kinematics– 3D Computer Animation for Applications Such as Games and Virtual Environments – Character Animation Techniques Such as Synthesizing their Body Movements – Facial Expressions and Skin Movements – Behaviors in Crowded Scenes.
Suggested Activities:
1. Exploration of various animation techniques and tools (Self Study).
2. Carry out small projects like Design of small animation movies using any tools with good aesthetic sense.
Suggested Evaluation Methods
1. Discussion on various animation techniques and tools.
2. Projects may be evaluated based on the theme, design, creativity, tools and aesthetic sense.

30 PERIODS

PRACTICAL EXERCISES:

1. Introduction to Programming in OpenGL.
2. Write a program to draw the following points: (0.0,0.0), (20.0,0.0), (20.0,20.0), (0.0,20.0) and (10.0,25.0). For this purpose, use the GL_POINTS primitive.
3. Re-write the previous program in order to draw a house. The house consists of two figures: a square and a triangle. The first four points given above define the square, while the last three points define the triangle. For this purpose, use the GL_QUADS and GL_TRIANGLES primitives.
4. Write a program to color to primitives like cube, triangle and perform 2D rotation using OpenGL.
5. Modify the above program extending the 2D rotation to 3D with a simple 3D Orthographic Projection.
6. Write a program to roll a wheel on a horizontal line using OpenGL.
7. Draw the Koch snowflake (or some other variation of the Koch curve) using python.
8. Create a rotating cube with lighting using OpenGL.
9. Create a scene consisting of multiple spheres and cubes, apply a different texture to each object, and give a bumpy-looking appearance to each surface using normal mapping.
10. Create 10 seconds Walking animation with a rigged character using any animation tool.

TOTAL : 45+30=75 PERIODS

COURSE OUTCOMES:

On completion of the course, the students will be able to:
CO1:Understand and apply 3d graphics algorithms related to transformations, illumination, texturing, etc. With the aid of software libraries.
CO2:Develop interactive applications using 3d graphics
CO3:Investigate and apply software libraries for 3d graphics and related software needs.
CO4:Understand the issues relevant to computer animation.
CO5:Describe and synthesize character animation techniques, including motion, changing their facial expressions and crowd behavior.

REFERENCES:

1. Donald D. Hearn, M. Pauline Baker, Warren Carithers, “Computer Graphics with OpenGL”, Fourth Edition, Prentice Hall, 2011.
2. JungHun Hyan, “3D Graphics for Game Programming”, Chapman and Hall/CRC, 1st Edition, 2011.
3. Foley van Dam, Feiner Hughes, “Computer Graphics Principles and Practice”, Third Edition, Addison Wesley, 2014.
4. Alan Watt, Mark Watt, “Advanced Animation and Rendering Techniques: Theory and Practice”, Addison Wesley, 1992.
5. Rick Parent, “Computer Animation – Algorithms and Techniques”, Third Edition, Morgan Kaufman, 2012.
6. Edward Angel, Dave Shreiner, “Interactive Computer Graphics: A Top-Down Approach with OpenGL”, Sixth Edition, Addison Wesley, 2012.