Computer Graphics

A tantárgy neve magyarul / Name of the subject in Hungarian: Számítógépes grafika

Last updated: 2016. szeptember 29.

Budapest University of Technology and Economics
Faculty of Electrical Engineering and Informatics
Course ID Semester Assessment Credit Tantárgyfélév
VIIIAB03 4 3/0/0/f 4  
3. Course coordinator and department Dr. Szirmay-Kalos László,
Web page of the course
4. Instructors Dr. Szirmay-Kalos László
5. Required knowledge Programming in C++, Linear algebra, Analysis, Physics (mechanics, optics)
6. Pre-requisites
(TargyEredmeny( "BMEVIIIAA00" , "jegy" , _ ) >= 2
VAGY TárgyEredmény( "BMEVIIIAA03" , "jegy" , _ ) >= 2

(TargyEredmeny( "BMEVIIIA114" , "jegy" , _ ) >= 2
TargyEredmeny( "BMEVIIIA115" , "jegy" , _ ) >= 2) )

ÉS NEM ( TárgyEredmény( "BMEVIIIA316" , "jegy" , _ ) >= 2
TárgyEredmény("BMEVIIIA316", "FELVETEL", AktualisFelev()) > 0
TárgyEredmény( "BMEVIIIAB07" , "jegy" , _ ) >= 2
TárgyEredmény("BMEVIIIAB07", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rendek grafikus formában itt láthatók.

7. Objectives, learning outcomes and obtained knowledge Introduction to visual informatics, including modeling, rendering, visualization, and programming on GPUs
8. Synopsis
  1. Analytic geometry. Geometries in general: euclidean, projective, fractal. Analytic geometry of the euclidean space: point, vector, coordinate systems. Vector operations, meaning and implementation in  C++. Combination of points: line segment, line, circle parametric equations. Distance: implicit equations of the plane, sphere.
  2. Geometric modeling. Curves with implicit and parametric equations. Free form curves: Lagrange and Hermite interpolation, Bezier approximation, Catmull-Rom spline. Parametric surfaces. Catmull-Clark subdivision surface. Poligon modeling with Euler operators.
  3. Transformations: Projective space and homogeneous coordinates. Affine transformations (translation, scaling, rotation). Perspective. Wrap-around problem. 
  4. 2D rendering: Vectorization. Decomposition of polygons to triangles. Modeling transformation. View and projection transformations. Clipping. Line rasterization. Polygon filling.
  5. GLUT/OpenGL 3: Syntax. Interfacing the windowing system. Window definition and event handlers. Retained mode rendering: Vertex array object. Vertex and fragment shaders in 2D rendering. 
  6. Optics fundamentals of 3D rendering: radiance, BRDF. Smooth materials, geometric optics, refraction, Fresnel equations. Rough surfaces: diffuse and glossy reflection. Colors.
  7. Ray tracing: visibility problem. Surface normals. Shadows. Recursive ray tracing: mirrors and refractive surfaces.
  8. Incremental 3D rendering: surface tessellation, modeling transform. Camera definition and perspective transformation. Clipping in homogeneous coordinates. Visibility algorithms: back-face culling and z-buffer algorithm. Gouraud and Phong árnyalás. Texture mapping. OpenGL/GLSL programming.
  9. Animation: motion definition. Key-frame animation. Dynamics. Discrete event simulation. Collision detection and response. Character animation.
  10. Games: virtual reality and game architecture. Avatar. Game engines. Billboards and particle systems. Terrain modeling. Character animation. AI.
9. Method of instruction Lecture and homeworks.
10. Assessment A written test and 3 homeworks. The test is compulsory.
12. Consultations On demand.
13. References, textbooks and resources
14. Required learning hours and assignment
Preparation for lectures
Preparation for the test
Additional reading
15. Syllabus prepared by Dr. Szirmay-Kalos László
IMSc program Homeworks.