Showing posts with label 36VRE. Show all posts
Showing posts with label 36VRE. Show all posts

Wednesday, December 5, 2007

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

Dosavadní stav implementace
  • základní wxWidgets aplikace
  • víceúrovňové logování událostí do okna a souboru s možností nastavení úrovně zobrazení
  • kostra jádra (kernel) pro správu modulů
  • jádro obsahuje několik serverů spravujících příslušné moduly

Poznámky k implementaci a další postup

  • problém exportu C++ tříd/metod z modulu
  • jádro definuje abstraktní třídu pro daný typ modulu
  • modul definuje metody ve své zděděné třídě
  • nutnost použití wrapperu nezávislého na platformě

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

Thursday, November 8, 2007

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

Poznámky k plugin architektuře

  • automatický import dostupných a platných pluginů
  • daný počet typů použitelných pluginů (vstup, archivační, načítací, BVH, ...)
  • hlídání verze jednotlivých pluginů pro případ změny jádra
  • pouze tam, kde je to bezpodmínečně nutné, bude mít plugin přístup k instanci jádra

Poznámky k návrhu jádra a standardních pluginů

  • Scene graph - celý obsažen v jádře z důvodů efektivity a čistšího kódu. V případě potřeby bude možné jej nahradit pluginem se shodným interface.
  • BVH plugin - přístup k datům scény. V jádře může být 'dummy bvh' se shodným interface.
  • Input/console/GUI plugin - přístup k jádru a všem dostupným metodám
  • Renderer - přímý přístup k BVH, metody view frustum culling, pick atd. nad BVH

Další postup

  • podrobnější studium dokumentace wxWidgets a otestování podpory pluginů
  • zjištění možností reprezentace scény - seznámení s OpenSceneGraph a diplomovou prací Prohlížeč FHS / FHB (M. Schindler), zvážení výhod/nevýhod vlastní implementace
  • první verze implementace jádra a správce pluginů
  • návrh názvu diplomové práce

Friday, October 26, 2007

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

Vedoucí: Jiří Bittner (bittner [at] fel·cvut·cz)
Externí konzultant: Antonín Míšek (Antonin.Misek [at] skoda-auto.cz)
Řešitel: Václav Kyba (kyba [at] feld·cvut·cz)

Navrhněte a implementujte modulární aplikaci sloužící jako jádro pro zpracování a vizualizaci 3D dat. Aplikace bude mít architekturu využívající pluginy ve formě dynamických knihoven s podporou vícevláknového zpracování. Při návrhu dbejte na možnost běhu na operačních systémech Windows a Linux. K implementaci použijte jazyk ANSI C++ a knihovnu wxWidgets.

Aplikace bude mít následující komponenty:

  • datová struktura pro reprezentaci grafu scény včetně tzv. variant (podpora pro reprezentaci několika scén současně, metody pro modifikaci grafu scény)
  • flexibilní pluginové rozhraní, jednotná reprezentace a modifikace parametrů pro pluginy
    ovládání pomocí vlastního textového terminálu
  • parser příkazové řádky systému
  • importní a exportní pluginy formátů FHS a OBJ
  • zobrazovací plugin na bázi OpenGL
  • plugin pro ovládání kamery

Plán prvních prací na projektu:

  • formulace požadavků na pluginové rozhraní
  • seznámení s možnostmi knihovny wxWidgets především co se týče podpory pluginů
  • v případě nevyhovující funkčnosti wxWidgets nalezení vhodné alternativy s flexibilní pluginovou architekturou
  • v nejhorším případě definice požadavků pro vlastní implementaci