Tato práce se zabývá principy a C++ implementací 3D grafického enginu v OpenGL. Engine je naprogramován jako multiplatformní aplikace pro interaktivní zobrazování a vizualizaci trojrozměrných dat. Základem reprezentace scény je hierarchická datová grafová struktura Oktalový strom s pohledovým ořezáváním. Technika stínových objemů umožňuje zobrazovat dynamické stíny. Programovací jazyk The OpenGL shading language dovoluje využívat moderní programovatelné vertex a fragment shadery.
Annotation in English
This thesis deals with the principles and C++ implementation of 3D graphics engine in OpenGL. Engine is programmed as multiplatform application for real time interactive rendering and visualization. Scenegraph is based on hierarchical data structure octal tree with frustum culling. Dynamic shadows are produced by algorithm shadow volumes. The OpenGL Shading Language provides support for vertex and fragment shaders.
Tato práce se zabývá principy a C++ implementací 3D grafického enginu v OpenGL. Engine je naprogramován jako multiplatformní aplikace pro interaktivní zobrazování a vizualizaci trojrozměrných dat. Základem reprezentace scény je hierarchická datová grafová struktura Oktalový strom s pohledovým ořezáváním. Technika stínových objemů umožňuje zobrazovat dynamické stíny. Programovací jazyk The OpenGL shading language dovoluje využívat moderní programovatelné vertex a fragment shadery.
Annotation in English
This thesis deals with the principles and C++ implementation of 3D graphics engine in OpenGL. Engine is programmed as multiplatform application for real time interactive rendering and visualization. Scenegraph is based on hierarchical data structure octal tree with frustum culling. Dynamic shadows are produced by algorithm shadow volumes. The OpenGL Shading Language provides support for vertex and fragment shaders.
1. Vypracujte literární rešerši o 3D zobrazování v reálném čase.
2. Popište moderní, v současné době nejpoužívanější programové prostředky pro 3D vizualizaci (OpenGL, GLSL, Direct3D, HLSL, VRML, X3D).
3. Charakterizujte moderní hardwarové prostředky pro 3D vizualizaci (3D grafické akcelerátory a jejich architektura).
4. Navrhněte 3D vizualizační grafický engine s podporou grafové reprezentace scény, dynamického stínování, shaderingu, částicových efektů, detekce kolizí, maticové transformace a quaternionů.
5. Tento vizualizační engine podrobně charakterizujte a proveďte softwarovou realizaci s využitím knihoven OpenGL.
6. Vytvořte multiplatformní aplikaci pro 3D vizualizaci.
Research Plan
1. Vypracujte literární rešerši o 3D zobrazování v reálném čase.
2. Popište moderní, v současné době nejpoužívanější programové prostředky pro 3D vizualizaci (OpenGL, GLSL, Direct3D, HLSL, VRML, X3D).
3. Charakterizujte moderní hardwarové prostředky pro 3D vizualizaci (3D grafické akcelerátory a jejich architektura).
4. Navrhněte 3D vizualizační grafický engine s podporou grafové reprezentace scény, dynamického stínování, shaderingu, částicových efektů, detekce kolizí, maticové transformace a quaternionů.
5. Tento vizualizační engine podrobně charakterizujte a proveďte softwarovou realizaci s využitím knihoven OpenGL.
6. Vytvořte multiplatformní aplikaci pro 3D vizualizaci.
Recommended resources
1. Kessenich, J., Baldwin, D., Rost, R. The OpenGL Shading Language. 3Dlabs, Inc. Ltd., 2004
2. Martišek, D. Matematické principy grafických systémů. Litera, Brno, 2002, ISBN 80-85763-19-2
3. Sagal, M., Akeley, K. The OpenGL Graphics System: A Specification (Version 2.0). Silicon Graphics, Inc., 2004
4. Virius, M. Programování v C++. ČVUT, Praha, 2001, ISBN 80-01-01874-1
5. Žára, J. a kol. Počítačová grafika - principy a algoritmy. Grada, Praha, 1992, ISBN 80-85623-00-5
6. Žára, J., Beneš, B, Sochor, J. a Felkel, P. Moderní počítačová grafika. Computer Press, Brno, 2004, ISBN 80-251-0454-0
Recommended resources
1. Kessenich, J., Baldwin, D., Rost, R. The OpenGL Shading Language. 3Dlabs, Inc. Ltd., 2004
2. Martišek, D. Matematické principy grafických systémů. Litera, Brno, 2002, ISBN 80-85763-19-2
3. Sagal, M., Akeley, K. The OpenGL Graphics System: A Specification (Version 2.0). Silicon Graphics, Inc., 2004
4. Virius, M. Programování v C++. ČVUT, Praha, 2001, ISBN 80-01-01874-1
5. Žára, J. a kol. Počítačová grafika - principy a algoritmy. Grada, Praha, 1992, ISBN 80-85623-00-5
6. Žára, J., Beneš, B, Sochor, J. a Felkel, P. Moderní počítačová grafika. Computer Press, Brno, 2004, ISBN 80-251-0454-0