petak, 02.05.2008.

Marked3D Engine Dnevnik - Unos( 0.01f );

Kao prvo, dobrodošli! Otvorio sam ovaj online dnevnik tj. blog u svrhu praćenja razvoja svog 3D game engine-a kôdnog imena Marked3D. Projekt je službeno objavljen 17. prosinca 2007. godine, kada je predložen grubi koncept cijelog engine-a. Zahvaljujući velikom odazivu kolega, zaprimio sam pozamašnu količinu konstruktivnih kritika i prijedloga koje sam, dobar kakav jesam (...ne), uvažio. Nažalost, slaganje ponuđenog i predloženog nije se moglo ostvariti na staroj bazi, pa sam pokrenuo cijeli projekt ispočetka pazeći da bude široko modularan u svim aspektima.

Ovo su trenutni ciljevi koje sam implementirao ili planiram implementirati kroz daljni tok razvoja (Marked3D Graphics):

Potpuna neovisnost o API-ima i OS-ovima - implementiranjem OpenGLa i DirectX-a 9 kao dva vodeća API-a trenutno na tržištu igara. Engine će se vrtiti potpuno neovisno od oba koristeći različite apstrakcijske slojeve i time uvelike olakšati razvoj budućih igara.

Kreiranje vizualno naprednih shadera - korištenjem HLSLa i GLSLa. Podržani pixel i vertex shaderi sežu do modela 3.0. Unified Shader Model 4.0 koji je dio arhitekture DirectXa 10 neće biti podržan (do daljnjeg).

Nezamjetni prijelaz iz interiora u exterior - implementiranjem sustava za manipuliranje scenom. Koristit će octstabla u kombinaciji sa LoD sustavom koji bi trebao daljnje optimizirati renderiranje scene.

Vizualne mogućnosti - ovisno o korištenju sposobnosti pojedinog API-a, no univerzalne mogućnosti engine-a će biti: dinamična svjetla i posljedično tome, sjene, osvjetljenje po pixelu ili vertexu, parallax occlusion, skybox, bump mapping, normal mapping, svjetlosne mape, displacement mapping, animacija tekstura. Moguća je i implementacija HDRa i volumetričnih svjetala u budućnosti, no o tom potom.

Post-processing - Bloom i motion blur

Built-in GUI sustav - za olakšan pristup razvoju 2D sučelja koji će se koristiti u vašim aplikacijama.

Podrška za poznate formate - za lakše manipuliranje 3D modelima i resursima tj. assetima.


To je to što se tiče grafičkog modula, po završetku istog, planiram razviti jednostavan i intuitivan editor za kreiranje mapa i manipuliranje resursima. Sam engine bit će naklonjen razvoju FPS-ova, jednostavno zato što je game mehanika FPS-ova najlakša za implementirati, no sam dizajn engine-a bit će dovoljno fleksibilan da ga prilagodite svojim potrebama. Sam engine će biti Open Source. Poslije završetka grafičkog modula, dolazi na red modul za animaciju, (osnovnu) fiziku, networking i zvuk. Alati zanata su poprilično planetarno poznati, ali bolje sve navesti pa da poslije ne bude zabune.

IDE: Visual Studio 2005
Programski jezik: C/C++ (nativni, ANSI/ISO)
Grafički API: DirectX & OpenGL

I došli smo do kraja današnjeg druženja... RayDX, signing off...

- 18:11 - Komentari (0) - Isprintaj - #

Creative Commons License
Ovaj blog je ustupljen pod Creative Commons licencom Imenovanje-Dijeli pod istim uvjetima.