Computer GraphicsComputer Graphics
IN5I11IN5I11
Nabil H. MustafaNabil H. Mustafa
http://www.esiee.fr/~mustafan/http://www.esiee.fr/~mustafan/IN5I11IN5I11
SystemsSystems: Write complex 3D graphics real-: Write complex 3D graphics real-time scene in OpenGLtime scene in OpenGL
TheoryTheory: Mathematics and algorithms : Mathematics and algorithms underlying modern 3D graphics systemsunderlying modern 3D graphics systems
This course is This course is not not about the specifics of about the specifics of 3D graphics programs and APIs like Maya, 3D graphics programs and APIs like Maya, Alias, DirectX but about the concepts on Alias, DirectX but about the concepts on which they are built!which they are built!
GoalsGoals
Graphics API for rendering 3D Computer GraphicsGraphics API for rendering 3D Computer Graphics CAD, Virtual Reality, Visualization, Simulation, Video GamesCAD, Virtual Reality, Visualization, Simulation, Video Games
Code written in C++ for the course Code written in C++ for the course – Though OpenGL is cross-language and cross-platform!Though OpenGL is cross-language and cross-platform!
Learn special language to write hardware GPU codeLearn special language to write hardware GPU code– GLSL (OpenGL Shader Language)GLSL (OpenGL Shader Language)
OpenGL ES for mobile devices (Android/iOS)OpenGL ES for mobile devices (Android/iOS)
OpenGLOpenGL
Counter-StrikeHalf-LifeDoom 3MinecraftSecond LifeTeam FortressUnreal Tournament . . .
Mathematics for 3D rendering and viewingMathematics for 3D rendering and viewing Basic 3D modeling:Basic 3D modeling:
– Meshes for 3D Shape Meshes for 3D Shape – TransformationsTransformations– Orthographic, Perspective ProjectionsOrthographic, Perspective Projections
TexturesTextures
Shadow MapsShadow Maps
Environment MapsEnvironment Maps
Bump MappingBump Mapping
Mass-spring SystemsMass-spring Systems
Computer GraphicsComputer Graphics
ProjectProject: : Write a graphics program for a Write a graphics program for a scene (at least one room, maybe multiple scene (at least one room, maybe multiple rooms) with realistic rendering techniques.rooms) with realistic rendering techniques.
In groups of two students.In groups of two students.
At the end, we will have a meeting for you to At the end, we will have a meeting for you to present your project, answer any present your project, answer any programming questions, to relax and enjoy programming questions, to relax and enjoy all the projects.all the projects.
The best project gets a prize from me.The best project gets a prize from me.
ProjectProject
Computer Graphics in OpenGL Computer Graphics in OpenGL CourseCourse
DemoDemo
– Previous-year best projectPrevious-year best project– OpenGL-based engineOpenGL-based engine– Mass-Spring 2DMass-Spring 2D– Mass-Spring 3DMass-Spring 3D