[ yooyo @ 12.07.2005. 13:38 ] @
Nedavno sam obecao da cu objaviti tutorial kako izvesti neke efekte. Koga interesuje moze da skine ZIP u kome se nalazi nekoliko interesantnih primera. Neki su komentarisani, a neki nisu, ali sam zato tu da ogodvorim na pitanja.

www.centroid3d.co.yu/yooyo/GLFramework01.zip

Demoi su radjeni u OpenGL-u i zahtevaju Nvidia FX ili ATI Radeon koji podrzava pixel shadere 2.0. Posto sam sve ovo razvijao na NVidia kartici, nisam siguran da li ce da radi i na ATI-u.

Bilboard - demo koji koristi vertex shader umesto point sprites
CharTest - crta 3d character koji je ucitan iz mog file formata
FBOTest - test FrameBuffer objects extenzije. Crta Lorenzov atraktor u offscreen buffer
Heat - teapot u kocki koja prelama svetlost (jeftin i prljav trik)
Readback - testiranje brzije readback-a (citanje iz backbuffera u sys memoriju)
RTRFPT - Render To Rectangle Floating Point Texture
SimpleGLApp - Jednostavan skelet apkikacije baziran na mom OpenGL frameworku
Test_PBO_VBO - Primer koji pokazuje kako iskoristiti pixel pipeline za procesiranje vertexa. Prvo renderuje u offscreen buffer nesto, sto se posle kopira u pixel buffer objekat i menjau vertex buffer objekat koji postaje source za vertex pipeline
VideoPlayer - OpenGL video player.

U svim demoima koristite Alt + Levi/Srednji/Desni taster misa za rotate/pan/zoom (kao u Mayi)

Da bi ovi demoi radili potrebno je da imate GeForce-FX ili GeForce 6x00 karticu, sveze Forceware drivere (77.72), instaliran DXSDK (zbog VideoPlayera) i MSVC++ 7.1 (tj. .NET 2003). Ako vam trebaju i dodatne biblioteke za VideoPlayer skinite ih sa:

www.centroid3d.co.yu/yooyo/strmbasd.lib
www.centroid3d.co.yu/yooyo/STRMBASE.lib
(zajedno su oko 3MB)
Potrebno je da podesite i pathove u IDE-u (npr. dodajte u Include spisak i C:\DXSDK\Samples\C++\DirectShow\BaseClasses)

Ukoliko ne zelite da se smarate sa DirectShow stvarima izbacite VideoPlayer i ceo DirectShow folder iz projekta.

Svi demoi se nalaze u folderu Demos. Na dnu svakod demoa se nalazi linija koja pokrece demo (npr. IEngine* NewEngine(){ return new CVideoPlayer;}). Komentarisite tu liniju i odkomentarisite slicnu u demo koji vas interesuje, a zatim prevedite projekat.

Sad ste vi na redu... Pitajte sta vas interesuje.

yooyo