|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
Kjirbis
Joined: 22 May 2005 Posts: 20 Location: Liepaja
|
Posted: Sun May 22, 2005 1:16 am Post subject: Mani darbi |
|
Es zinu, ka tagad topā ir D3D un OpenGL, bet mans mērķis ir veidot savu software 3D dzinēju. Tas būs maksimāli optimizēts. Es jau esmu radījis 3D progu - vienkāršu dzinēja skeletonu, tā kā man šīs lietiņas ir apmēram skaidras, tikai jāķeras pie darba. Es veidoju arī citas progas, ne tikai 3D... reiz sen sen uztaisīju 2D spraitu spēlītes dzini...
Iečekojiet screenshotus un progas iekš mana saita http://www.codeway.ezernet.lv/ |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sun May 22, 2005 1:27 am Post subject: |
|
Vienkāršu 3d software jau viegli uztaisīt - a vot pieliksi phong mapping, bumpmapping, vēl kautkādus specefektus, piemēram, alpha blendingu, tad redzēsi kāda bremze radīsies. Bez pamatīgas optimizācijas zemā līmenī daudzkas nebūs iespējams pat uz jaudīgiem datoriem. Bet vispār jau interesanti tādu tasīt, pac agrāk ar tādu niekojos. Izpratne jau pēc tam liela rodās, kā tas viss strādā kopā :) Veiksmes.
A kāds ir pamatojums to taisīt DOSā? SDL nederēja? Uzreiz būtu daudzplatformu atbalsts..
Emm, un kur tavā lapā var tos skrīnšotus atrast? |
|
Back to top |
|
|
Kjirbis
Joined: 22 May 2005 Posts: 20 Location: Liepaja
|
Posted: Sun May 22, 2005 4:11 am Post subject: |
|
Optimizācija zemā līmenī - tieši tas ir mans mērķis. Assembleru es protu bez problēmām, pat MMX instrukcijas. Blitting funkcijas protams asmaa jākodē. Asm izpratne ļauj arī labāk optimizēt C++ kodu. Jāizmanto advancētāki risinājumi, piemēram, Z-buffer vietā jāievieš S-Buffer. Pagaidām tas ir pie kā es tagad strādāju.
DOS - vienkārši es no laika gala esmu darbojies iekš DOS un tagad pāreju uz Windows. Par SDL neko daudz neesmu interesējies, taču man patīk GNU C/C++. DOSā tas ir DJGPP, Windowsā - MinGW (Dev-C++).
Nu jā, screenshots manam O3D demo nav pieejams, jo taisīts iekš DOS/VESA. Source arī nekompilējas, sačakarēta...(sen jau). Man ir doma kautkādā mistiskā veidā tomēr dabūt screenshot...
Priekš World 3D demo ir screenshot, bet tas ir pagalam vecs, uz Pascal/16bit asm taisīts.. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sun May 22, 2005 10:26 am Post subject: |
|
Pamēģini ar DOSBOX - tas ir dos emulators, ar to es laižu daudzas vecas DOS spēles, un tām mierīgi var uztaisīt screenšotus (vienīgā nelaime, var gļukot protected mode režīmā laistas programmas). |
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Sun May 22, 2005 10:42 am Post subject: |
|
Quote: | Loģiski, ja man no paša sākuma būtu bijis normāls kompis, es nekad neprogrammētu, bet dīrātu spēles... |
viedi vaardi |
|
Back to top |
|
|
Kjirbis
Joined: 22 May 2005 Posts: 20 Location: Liepaja
|
Posted: Sun May 22, 2005 11:32 am Post subject: |
|
Varbūt viedi vārdi, bet patiesība... jau pēc 2-3 mēnešiem kad dabūju pirmo PC, jau skricelējos Basicā.. |
|
Back to top |
|
|
BHC Guest
|
Posted: Sun May 22, 2005 5:15 pm Post subject: |
|
Dritvai kociņ.
Es arī biju/esmu aizrāvies ar zema līmeņa prog/ASM un softwārisku renderēšanu.
Bubu, no DOSBOXa readme: Quote: | Fast machine. My guess would be pentium-2 400+ to get decent emulation
of games written for an 286 machine. | Vienīgi var uzlikt lielu frameskipu un tad kaut kā mēģināt.
Quote: | Alpha blendingu, tad redzēsi kāda bremze radīsies | Mode13h, alpha-blend lookup tabula un strādā es teiktu - neslikti. Vienīgi papildus atmiņas patēriņš un ar 256 krāsām nekāds ūber-alpha blends nesanāk.
Quote: | Jāizmanto advancētāki risinājumi, piemēram, Z-buffer vietā jāievieš S-Buffer | Perspektīvas-pareizs-tekstūrmaperis ar Z-bufferi softwāriski pat uz jaudīgiem datoriem sanāks lēns. Kā es darīju savam soft-3d dzinējam - ģeometriju glabāju intos/fixed-point. Sakārtoju poligonus pēc virsotnēm, izmantojot radix-sort. Strādā almost-perfekti. Bet tekstūrmapēšanai izmanto divus algoritmus atkarībā no trīstūra novietojuma pret skatapunktu. Ja Z mainās nedaudz, izmantojam fast-affine maperi, ja Z mainās ievērojami, izmantojam perspektīves korektu maperi.
Būtībā var glabāt verteksus arī peldošajā punktā, bet tad radix-sorts jāpielāgo float-pointam, pats to neesmu mēģinājis realizēt, bet esmu redzējis tīmeklī pamācības, kā to var izdarīt.
Runājot par šādas nodarbes "itkā" nelietderību, tās ir muļķības, jo, pirmkārt, rodas sapratne par how-things-work, otrkārt, šīs zināšanas var burvīgi izmantot, izstrādājot kādu spēli mobiļņikam/plaukstdatoram/hand-heldam. |
|
Back to top |
|
|
Kjirbis
Joined: 22 May 2005 Posts: 20 Location: Liepaja
|
Posted: Sun May 22, 2005 9:38 pm Post subject: |
|
Quote: | Perspektīvas-pareizs-tekstūrmaperis ar Z-bufferi softwāriski pat uz jaudīgiem datoriem sanāks lēns. |
Jā, piekrītu. Tādēļ ir jāizmanto S-buferis. Tas ir alternatīvs Z-buferim. Necaurspīdīgi pikseļi nekad viens otru nepārraksta pāri. Jāsalīdzina tikai skanlīniju (scanlines) abu malu Z vērtības un tad pēc vajadzības jāapgraiza. Vairāk par to http://www.gamedev.net/reference/articles/article668.asp
Quote: | Bet tekstūrmapēšanai izmanto divus algoritmus atkarībā no trīstūra novietojuma pret skatapunktu. Ja Z mainās nedaudz, izmantojam fast-affine maperi, ja Z mainās ievērojami, izmantojam perspektīves korektu maperi. |
Manā O3D dzinējā tas jau tiek realizēts Ja esam acīgi, tad var manīt ka tekstūra mēdz "lēkāt" atsevišķos skatpunktos dēļ šādas pieejas. Man ir pamatotas aizdomas, ka izmantojot S-buffer, varētu laist tikai perspektīvo maperi, iztiekot bez affine, jo Z dalīšanas darbība uz katru ekrāna pikseli būtu jāveic tikai vienu vienīgu reizi. Okei, tas ir gadījumā ja tikai necaurspīdigi solid poligoni jārenderē.. bet tomēr labāk.. |
|
Back to top |
|
|
Kjirbis
Joined: 22 May 2005 Posts: 20 Location: Liepaja
|
Posted: Mon May 23, 2005 2:12 am Post subject: |
|
Ieliku O3D screenshotus. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|