Wednesday, November 21, 2007

Modulární 3D prohlížeč pro Škoda Auto - report 3

Předběžné zadání diplomové práce:
Navrhněte a implementujte modulární aplikaci sloužící jako jádro pro zpracování a vizualizaci 3D dat. Zaměřte se na návrh flexibilní modulární architektury pro efektivní použití externích modulů. Externí moduly budou v podobě dynamických knihoven s podporou vícevláknového zpracování. Zajistěte běh aplikace na operačních systémech Microsoft Windows a Linux.
Implementujte datové struktury pro graf scény do jádra aplikace. Graf scény bude možné modifikovat a musí podporovat reprezentaci tzv. variant jednotlivých částí scény. Aplikaci bude možné předat parametry z příkazové řádky a pomocí textového terminálu zadávat příkazy jádru aplikace a připojeným modulům.
Implementujte modul pro import a export grafických formátů FHS a OBJ, dále modul pro intuitivní ovládání kamery a modul pro zobrazení scény pomocí knihovny OpenGL.
K implementaci použijte jazyk ANSI C++ a využijte knihovny wxWidgets. Součástí práce bude dobře dokumentovaný zdrojový kód a přehledný návod k programu.

Hrubý návrh architektury aplikace:

Poznámky k návrhu

  • vzhledem k nežádoucí závislosti na další knihovně a v případě použití OpenSceneGraph navíc zbytečné funkčnosti, bude graf scény implementován vlastní datovou strukturou
  • prvek Scene BVH v jádře bude zjednodušenou implementací BV hierarchie, kterou bude možné nahradit externím modulem
  • externí modul BVH bude moci využívat zjednodušené metody Scene BVH v případě potřeby
  • dynamika objektů bude řešena vložením daného uzlu/uzlů scény do fronty procesů. Objekty ve frontě budou volány v hlavní smyčce skrze definovaný interface implementující aktualizační metody

No comments: