streda 23. marca 2011

Prvé kroky s GLSL

Ako som sľubovala, ponúkam na stiahnutie prvú verziu programu k bakalárke. Nerobí to zatiaľ žiadne zázraky, vykreslí rotujúcu plochu s jednoduchým shaderom, ktorý vyplní textúru mimo obrazovky farebným prechodom, a na základe tohto vygenerovaného prechodu zmení výšku jednotlivých bodov na ploche v závislosti od červenej a zelenej zložky konkrétneho texelu. Farba bodu je potom daná v závislosti od výšky bodu prochodom od čistej zelenej k bielej. Ešte chcem upraviť načítavanie OpenGL Extensions tak, aby sa dal program spustiť aj na Linuxe. Momentálne funguje len pod Windowsom kvôli run-time načítavaniu adries OpenGL funkcií, ktoré nie sú v základnej špecifikácii OpenGL, každopádne je to prvý krok ku GLSL generátorom terénu.
Môžete sa pokochať aj screenshotom :

Parádny lyžiarsky svah :-)

Súbor so spakovanými zdrojákmi si môžete stiahnuť tu : bakalarka22-3-2011.zip
Súčasťou balíka je aj Code::Blocks projekt.

Moja najbližšia práca bude pozostávať z prepísania niektorej z už naprogramovaných metód do GLSL, ako menšia komplikácia sa ukazuje absencia GLSL funkcie generujúcej náhodné čísla; v špecifikácii GLSL sa síce  nachádza funkcia noise(), ktorá by mala vracať náhodné hodnoty, no je implementovaná len na niektorých grafických kartách, pričom bohužiaľ moja grafická karta nie je jednou z nich :-(

Pri hľadaní vhodného nástroja na uľahčenie programovania v GLSL jazyku som objavila šikovný nástroj ShaderMaker, ktorý vytvorili učitelia z Technickej Univerzity v Clausthali, na uľahčenie výuky pre študentov. Ak rozmýšľate nad experimentovaním s vlastnými shadermi, rozhodne odporúčam vyskúšať tento program (vždy lepšie ako si písať shader v Notepade :-) )

Žiadne komentáre:

Zverejnenie komentára