7
Computer Graphics Computer Graphics IN5I11 IN5I11 Nabil H. Mustafa Nabil H. Mustafa http://www.esiee.fr/ http://www.esiee.fr/ ~mustafan/IN5I11 ~mustafan/IN5I11

Computer Graphics IN5I11 Nabil H. Mustafa mustafan/IN5I11

Embed Size (px)

Citation preview

Page 1: Computer Graphics IN5I11 Nabil H. Mustafa mustafan/IN5I11

Computer GraphicsComputer Graphics

IN5I11IN5I11

Nabil H. MustafaNabil H. Mustafa

http://www.esiee.fr/~mustafan/http://www.esiee.fr/~mustafan/IN5I11IN5I11

Page 2: Computer Graphics IN5I11 Nabil H. Mustafa mustafan/IN5I11

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

Page 3: Computer Graphics IN5I11 Nabil H. Mustafa mustafan/IN5I11

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 . . .

Page 4: Computer Graphics IN5I11 Nabil H. Mustafa mustafan/IN5I11

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

Page 5: Computer Graphics IN5I11 Nabil H. Mustafa mustafan/IN5I11

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

Page 6: Computer Graphics IN5I11 Nabil H. Mustafa mustafan/IN5I11

Computer Graphics in OpenGL Computer Graphics in OpenGL CourseCourse

Page 7: Computer Graphics IN5I11 Nabil H. Mustafa mustafan/IN5I11

DemoDemo

– Previous-year best projectPrevious-year best project– OpenGL-based engineOpenGL-based engine– Mass-Spring 2DMass-Spring 2D– Mass-Spring 3DMass-Spring 3D