Zanir

J000 – šum

18.10.2004

J000_noiseStiahnite si:
spustitelný jar
zdrojáky

Applet:

Čítať zvyšok príspevku »

J00x – Java programy

18.10.2004

javaKvôli zadaniu v škole som si urobil vlastný 3D renderer v jave. Programy kreslia všetko softvérovo. Nevyužívam OpenGL, alebo Direct3D prístupné cez rozširujúce knižnice. Nepoužívam Java3D.

Program 19 – Offset Mapping

21.09.2004

019_Offset_Mapping_Offset_roomOffset mapping spočíva v posunutí textúrových koordinacií s ohľadom na pozíciu pozorovateľa a výšku povrchu tak, že vzniká dojem plastického povrchu. Konkrétne sa textúrové koordinácie posunú v smere od pozorovateľa pre hrbole a v smere ku pozorovateľovi pre diery. Čítať zvyšok príspevku »

Program 18 – Motion blur

15.09.2004

031_motion_blur_with_pbufferJedná sa o ase loader rozšírený o triedu, ktorá vytvorý špecialný pixel buffer, do ktorého sa dá kresliť, a zároveň sa dá použiť ako textúra. Do tejto textúry sa vykresľuje scéna. Motion blur sa vytvára tak, že túto textúru pričítavam k frame bufferu:
frame(t+1) = alpha*textúra + (1-alpha)*frame(t)
Frame buffer sa nemaže. Frame buffer neobsahuje z-buffer. Alpha je prednastavené na 0.18. Veľkosť textúry je 1024 * 1024, textúra obsahuje z-buffer. Program je rovnocenný s OpenGL programom 31. Na mojej grafickej karte však DX program ide rýchlejšie. DX 127 FSP, OpenGL 104 FSP.

zdrojové texty a program – 700kB

Program 17 – Many Per Pixel Lights

13.09.2004

017_Many_Per_Pixel_Lights_2Program ukazuje osvetlenie po pixeli naraz s viacerými svetlami. Svetlá majú rôznu farbu a dosah. Jedným kreslením sa vykresľuje jedno svetlo spolu s útlmom a specular zložkou. Pre viac svetiel je nutné vykreslovať scénu viackrát. Kedže nie všetky trojuholníky sú osvetľované všetkými svetlami, každý trojuholník sa vykresľuje, iba toľko krát koľko svetiel ho osvetľuje. Ale okolo toho zistenia je dosť výpočtov, takže osvetľovať scénu týmto spôsobom017_Many_Per_Pixel_Lights_1 z veľa trojuholníkmi je dosť náročné na CPU. Môj model však nemá veľa trojuholníkov (má <1000).

Pomocou ps 1.4 je možné vykresliť 2 svetlá v jednom kreslení. Ale tento spôsob je čo sa týka výkonnosti porovnateľný s vykreslením 1 svetla v jednom passe (na Radeon 9100). Čítať zvyšok príspevku »

Program 16 – Per Pixel Lighting

23.08.2004

016_Per_Pixel_LightingOsvetlenie po pixeli. Program vychádza z programu 10, kde bolo taktiež per-pixel osvetlenie. V tomto programe však využívam možnosti pixel shader-ov. V programe je osvetlenie ambient (okolité), difúzne a zrkadlové (specular). U zrkadlovej zložky je možné nastavovať exponent. Je možné zapnúť cube map normalizáciu. Ďalej je tam útlm svetla (attenuation). Útlm je možné vybrať zo 7 rozdielnych vzorcov. Sú tam rôzne techniky pre výpočet útlmu: cez pixel shader, cez pixel shader s čítaním 1D textúry a cez 3D textúru.

Vyžaduje pixel shader 1.1. Používa pixel shader 1.4.

zdrojové texty a program – 720kB

Program 31 – Motion blur s použitím p-buffra

08.08.2004

031_motion_blur_with_pbufferJedná sa o ase loader rozšírený o triedu, ktorá vytvorý špecialný pixel buffer, do ktorého sa dá kresliť, a zároveň sa dá použiť ako textúra. Do tejto textúry sa vykresľuje scéna. Motion blur sa vytvára tak, že túto textúru pričítavam k frame bufferu:

frame(t+1) = alpha*textúra + (1-alpha)*frame(t)
Frame buffer sa nemaže. Frame buffer neobsahuje z-buffer. Alpha je prednastavené na 0.18. Veľkosť textúry je 1024 * 1024, textúra obsahuje z-buffer.

Vyžaduje: WGL_ARB_pbuffer, WGL_ARB_pixel_format a WGL_ARB_render_texture.

zdrojové texty a program – 640kB

Program 15 – ASE Loader

26.07.2004

027_ASE_loader_0Program je až na pár drobností totožný s OpenGL programom 27. Najväčší rozdiel je v spôsobe uloženia vrcholov, u DX sú uložené v špecialnom bufferi (ktorý môže byť v pamäti grafickej karty), ale u OpenGL sú v pamäti programu.
Súbory ase vytvara 3ds max ako ASCII scene export. Je to textový formát. Všeobecne majú textové formáty oproti binárnym tú výhodu, že ich dáta sú uložené 027_ASE_loader_1textovým popisným spôsobom a preto nie je problém importovať potrebné časti so súboru. Textové súbory sú zase väčšie a pomalšie sa načítavajú. Načítanie ase súboru som urobil, preto lebo 3ds max exportuje veľa rôznych dát, pričom načítavať ich s 3ds súboru je obtiažne, lebo poriadny popis neexistuje. Čítať zvyšok príspevku »

Program 30 – Časticový systém

23.07.2004

030_Particle_system

zdrojové texty a program – 100kB

Space 2004 – Smrteľná kolízia

16.04.2004

Space2004Program v DX8.1 bol urobený ako demo pre súťaž na stránke mikrogen.

V programe sa pomocou F1 vyvolá menu. Odporúčaná podpora pixel shader 1.1.

zdrojové texty a program – 1.5MB