Knihovna GrCis

Projekt běží od podzimu 2010 jako podpora výuky počítačové grafiky na MFF UK, konkrétně jej využíváme v předmětech NPGR003 (Počítačová grafika I), NPGR004 (Počítačová grafika II), NPGR007 (Pokročilá 2D počítačová grafika), NPGR019 (Hardware pro počítačovou grafiku) a NPGR023 (Visualizace). Knihovna obsahuje ukázky základních algoritmů v C# (.NET >= 3.5), šablony pro studentská cvičení, některé užitečné datové soubory, apod. Tato stránka je stručným a obecným návodem k použití. Jednotlivé úlohy jsou však nejlépe popsány na stránkách jednotlivých cvičení, současné odkazy najdete na konci této WWW stránky, archivy úloh let minulých by měly být dostupné na několik kliknutí..

Knihovna se neustále vyvíjí, pokud narazíte na některé nedostatky nebo chyby, rádi o nich uslyšíme, kontaktujte prosím koordinátora projektu.

SVN repository

Knihovna (programy, projekty, pomocné třídy, data) je umístěna v SVN repository grcis na serveru cgg.mff.cuni.cz.
Po instalaci Subversion klienta (stačí řádková verze) se aktuální verze knihovny stáhne příkazem:

svn checkout svn://cgg.mff.cuni.cz/grcis/trunk grcis
Tím se vytvoří adresář grcis obsahující hlavní větev knihovny. Stahujte si vždy celou hlavní větev (trunk), izolované adresáře jednotlivých projektů nebudou fungovat!
Pozdější update (aktualizace dat) ze serveru se provádí v příslušném adresáři příkazem:
svn update

Pohodlnější a názornější je práce s GUI klientem TortoiseSVN. V laboratoři na Malé straně je nainstalován. Příkazy se zadávají z lokálního menu (pravé tlačítko myši) v příslušném adresáři.

Organizace repository

V trunku repository jsou umístěny adresáře obsahující kód k jednotlivým cvičením. Obvykle dodržujeme zásadu: jedno cvičení -> jedno "solution" (.sln).

Knihovny třetích stran

Studenti pracující na platformě Windows mají DLL binárky připraveny v repository. Ostatní si budou muset potřebné soubory opatřit a nakopírovat na správné místo (resp. nainstalovat příslušné balíčky).
Používáme externí knihovnu OpenTK, která integruje OpenGL, OpenCL a OpenAL.
Knihovna Cloo je wrapper a integrace OpenCL.
Knihovna NCalc obsahuje malý evaluátor aritmetických výrazů.

Vývojové prostředí pro C#

V repository je primárně podporováno prostředí "Visual Studio 2015 Professional" (je nainstalováno v laboratořích, domů vám stačí Visual Studio Community).

Galerie výsledků

V galerii budou shromažďovány zajímavé obrázky vytvořené s pomocí knihovny, buď k demonstračním účelům, nebo jenom jako ukázka práce šikovných studentů. V případě zájmu o některý výsledek se na nás můžete obrátit mailem, měli bych mít v archivu všechny zdrojáky, pokud nejsou součástí veřejné distribuce GrCis.

Práce v Linuxu

Tento návod napsal Michal Wirth - děkujeme.

Projekty v .NET frameworku, které jsou vytvořené pomocí Microsoft Visual Studia, je možné provozovat i v linuxovém prostředí. K tomuto slouží open-source implementace .NETu s názvem Mono. Je velice pravděpodobné, že Mono najdete již předpřipravené v balíčkovacím systému Vaší linuxové distribuce.

Jako IDE pro vývoj lze snadno použít prostředí MonoDevelop. Toto IDE umí korektně otevřít projektový .sln soubor (alespoň tomu tak je ve verzi 2.4), který je součástí každé úlohy v SVN repository. Např. v distribuci Debian prostředí získáte nainstalováním balíčku "monodevelop".

Pokud nechcete MonoDevelop z nějakého důvodu používat, nabízí se také možnost provádět kompilaci přímo v terminálu. K tomuto slouží program "xbuild" (verze 2.6.7 funguje bez problémů). Jako parametr přijímá cestu k již zmíněnému .sln souboru. Po spuštění programu proběhne kompilace projektu a případné kompilační chyby jsou následně vypsány na konci výstupu. Samotná binárka bude umístěna v "./bin/Debug/" v rámci adresáře celého projektu. Binárku je poté již možné přímo spustit v běhovém prostředí programu "mono" (cesta k binárce se opět předá jako parametr programu). Takto lze snadno k vývoji použít Váš oblíbený textový editor. Program "xbuild" získáte v Debianu instalací balíčku "mono-xbuild". V ostatních distribucích to bude stejné nebo velmi podobné.


Copyright (C) 2010-2017 J.Pelikán, last change: 2017-03-12 20:35:37 +0100 (Sun, 12 Mar 2017)