Stránka je momentálne v testovacej prevádzke a postupne sa dopĺňa.

Projekty


Programy, scripty a čo ja viem aké drobnosti ktoré som robil, či už v rámci edukácie alebo iných pohnútok. Väčšina ak nie všetko bude úplne nepoužiteľná, len som si chcel spraviť krátky prehľad svojej práce.

1


glComponents

Java + OpenGL + AWT + JOGL 05.05.2007

Obrazovka po spustení

Zadanie na predmet VPPJ (Verejno Prospešné Programovanie v Jave, alebo Vývoj Programov pre Platformu Java 2). Išlo viacmenej o prerobenie starého zadania na predmet Objektové programovanie, ktoré však nebolo s podporou OpenGL. Zaujímavosťou na tomto programe je, že na našej škole bolo v podstate odovzdané tri krát, z toho dva krát na ten istý predmet a zakaždým za plný počet bodov :). Ako som už spomínal, najskôr som ho odovzdával na predmete Objektové programovanie, rok na to ho odovzdával spolubývajúci na predmet VPPJ a napokon som ho odovzdával ja s prerobením na OpenGL. Nakoľko išlo len o prerobenie, nosná konštrukcie programu bola hotová, odpadlo teda nepríjemná definovanie všetkých properties a zmenilo sa v podstate iba samotné renderovanie komponentov.

Program obsahuje základné grafické komponenty, ktoré sú renderované pomocou OpenGL. Na prvý pohľad sa to môže zdať zbytočné, ale nejde o nič iné, ako o pokus decentralizovať výpočtový výkon počítača medzi CPU a GPU. Komponentov nie je veľa a mnohé by sa ešte dali dopísať, čo nieje vďaka dobre navrhnutej hierarchii tried žiaden problém. Inšpiroval som sa objektovým modelom, ktorý používa Delphi pre svoje grafické komponenty a aplikoval som ho do Javy. Zaujímavosťou je definovanie callback funkcií, alebo metód ak chcete. Nakoľko ide o javu, nedá sa s funkciou/metódou pracovať rovnako ako v C/C++, preto som to spravil cez malý workaround a to tak, že som definoval triedu, ktorá danú funkciu/metódu obsahovala a tú triedu som len dedil a metódu prepisoval, čím som vytváral niečo ako vlastné callback funkcie. Pričom ako parameter som mohol predávať celý objekt.

Pre záujemcov prikladám dokumentáciu, v ktorej je aplikácia opísaná podrobnejšie. Okrem toho som nahral aj zdrojové kódy programu, spustiteľnú verziu pod GNU/Linux aj Windows. Ide o balík komponentov a triviálny demonštračný program. Verzia pre GNU/Linux a Windows je rozdielna kvôli natívnym funkciám, ktoré sú volané buď z *.so alebo *.dll. Program spúšťam z jar súboru a vo Windowse trochu blbne (to je ta multiplatformovosť javy), na prezentáciu som ho natvrdo prepísal, ide o zaujímavú chybu, ktorá mi nemala logiku, možno by sa odstránila použitím aktuálneho JOGL.



Zdrojové kódy:  [] glComponents.zip (1.2 MB)
Spustiteľné súbory GNU/Linux:  [] glComponents-bin.zip (2 MB)
Spustiteľné súbory MS Windows:  [] glComponents-bin-win.zip (1.9 MB)
Dokumentácia:  [] glComponents.pdf (488 KB)




1


Copyright © 2008 Milan Ilavský | All Rights Reserved | Design by P&B Creations | Modified by Milan Ilavský | Powered by CMSee