Už to chtělo změnu... ;-)
Aplikácia Shiny3D je 3D engine určený pre outdoor hry. Za cieľ si kladie vytvorenie nádherného prostredia a jeho následnej, pokiaľ možno čo najlepšej optimalizácie. V podstate sa chcem venovať najmä grafike a jej optimalizácii, ale do budúcna plánujem aj kolízie s terénom. Aplikácia je naprogramovaná v Delphi 7 (pomocou OOP) za pomoci knižnice OpenGL.
... byla zrušena z důvodu extrémního množství spamu (stejně tam už nikdo nepsal).
Nedávno vypršela platnost domény opengl.cz a Mirek Topolář, který ji měl registrovanou a kterými mi poskytoval webhosting, se pravděpodobně rozhodl registraci dále neprodlužovat. Tímto bych mu chtěl poděkovat za ta léta, během kterých mi umožnil u sebe hostovat. Nyní je web umístěn na jednom z blokových serverů Strahovských kolejí. Jeho administrátorům, jmenovitě Charliemu a WilXovi, bych chtěl taktéž poděkovat. No, když už jsem u toho děkování, nelze nezapomenout na http://www.ceske-hry.cz/, a http://www.programovani.com/, kteří mi u sebe taktéž nabídli webhosting.
Terén je generovaný pomocí přesouvání středního bodu, jednoduchý přístup, ale vypadá hezky. Po vygenerování se vyhladí, aby nevypadal tak ostře, a spočítá se osvětlení, které je modulováno barvou podle výšky. Je přidaná i trocha travičky a dynamická obloha, nejsou to sice nějaký převratný mráčky, ale působí dobře. Když to vezmu ve zkratce, tak to zatím umí: nekonečný, dynamicky generovaný terén, dynamická obloha, vlnící se tráva, voda s odlesky, generované stromy, řešení viditelnosti, LOD, vertex buffery, multitexturing, programování textur pipeline... viz zdrojáky - je v nich možná kapku chaoz. Je to z toho důvodu, že věci pustupně přidělávám jak mě napadne. Jediný problém je zatím v navazazování jednotlivých plátů terénu, smoothing tam moc nefunguje ;-(.
Program načítá 3D objekt z .IFS souboru a vykresluje ho na obrazovku. To sice není nic složitého, ale jen do doby, než vám řeknou, že nesmíte použít žádné OpenGL funkce ani funkce z jiného 3D API. A pokud je navíc pátek a termín odevzdání máte definován na pondělí, jedná se o docela vražednou kombinaci... Kompletní popis programu naleznete na stránkách Fakulty jaderné, ČVUT Praha.
Najdete tam několik úchvatně vypadajících OpenGL programů...
V tomto článku se pokusíme implementovat snadno použitelnou třídu kamery, která bude vhodná pro pohyby v obecném 3D světě, například pro nějakou střílečku - myš mění směr natočení a šipky na klávesnici zajišťují pohyb. Přestože budeme používat maličko matematiky, nebojte se a směle do čtení!
Možno ste už počuli o výškových mapách. Sú to také čiernobiele obrázky, pomocou ktorých sa vytvára 3D terén (výška terénu na určitej pozícii je určená farbou zodpovedajúceho bodu na výškovej mape). Najjednoduchšie je výškovú mapu načítať zo súboru a je pokoj. Sú však situácie, ako napr. keď robíte grafické demo, ktoré má byť čo najmenšie, keď príde vhod výškovú mapu vygenerovať procedurálne. Takže si ukážeme ako na to. Ešte snáď spomeniem že čítať ďalej môžu aj tí, ktorí chcú vedieť ako vygenerovať takzvané "oblaky" (niekedy sa tomu hovorí aj plazma), nakoľko tento tutoriál bude z veľkej časti práve o tom.
Program vykresluje barevnou paletu. Její odstín se dá změnit zvolením barevné složky pomocí kláves r, g, b a následným stisknutím šipky doleva/doprava. Díky přenositelné knihovně SDL lze po kompilaci spustit pod MS Windows, GNU/Linuxem a dalšími operačnímy systémy.
Michal Bubnar (Michalbb) začíná tvořit web http://www.mgbsoft.wz.cz/, lze tam nalézt několik herních tutoriálů a postupně přibývají další...
Hra je urcena hlavne pre dvoch hracov, ale je implementovane aj AI, takze si moze clovek zahrat aj sam. Pravidla su prebrate zo starej dosovky Tuneller (nasa sa vola Tunneler, pretoze nam to tak napisal zadavatel :)) ). Na nahodne vygenerovanej mape su nahodne umiestnene dva domceky, kde zacinaju jednotlivi hraci/UI. Tu si mozu tanky doplnat zdravie aj energiu. Vsade okolo je zem, ktorou si treba razit tunely, co stoji istu energiu. Ta sa spotrebovava aj na pohyb a na strielanie. Ulohou je rostrielat (ako inak :) ) protivnika. Hra sa na 1 - 10 vitazstiev podla nastavenia, standardne 3. Blizsie detaily zistite pocas hry :)).
Každý, kdo někdy programoval částicové systémy, se jistě setkal s problémem, jak zařídit, aby byly polygony viditelné z jakéhokoli směru. Nebo-li, aby se nikdy nestalo, že při natočení kamery kolmo na rovinu částice, nebyla vidět pouze tenká linka. Složitý problém, ultra jednoduché řešení...