Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Elijen2
Založen: 04. 11. 2008 Příspěvky: 3
|
Zaslal: 4. listopad 2008, 13:02:23 Předmět: Vlastní 3D engine |
|
|
Zdravím,
chtěl bych si naprogramovat vlastní 3D API + 3D engine v C++, ale nemohu nikde sehnat informace o algoritmech a postupech při renderování 3D objektů. Zají má mě především transformace a perspektiva.
Nevěděl by jste někdo o nějaké volně dostupné online literatuře, která se zabívá těmito problémy (něco ve smyslu jak z 2D udělat 3D)?
Předem dík za tipy. |
|
Návrat nahoru |
|
 |
Augi

Založen: 28. 07. 2007 Příspěvky: 782 Bydliště: Čerčany
|
Zaslal: 4. listopad 2008, 13:25:25 Předmět: |
|
|
Vlastní 3D API? To jako něco místo Direct3D nebo OpenGL? S kolika výrobci karet už máš smlouvu na drivery? Nebo chceš udělat nějaký super 3D API, který bude abstrahovat libovolný existující 3D API? Pokud tak (to je reálnější myšlenka), tak to chce mít důkladně nastudované ty existující 3D API, abys dokázal co nejlépe abstrahovat.
Algoritmy a postupy při renderování 3D objektů: DirectX SDK (tam je prakticky vše), Moderní počítačová grafika (tištěná knížka)
Jinak 3D engine se zabývá spíše tím, jak udělat z 3D jen 2D Opačný postup může spadat do kategorie strojového rozeznávání obrazu
No abych to shrnul: Vykašli se na to. Nejdřív musíš pochopit do nejmenšího detailu způsob vykreslování alespoň v Direct3D a OpenGL... |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 4. listopad 2008, 13:30:00 Předmět: |
|
|
poznam dve knihy s touto tematikou.
http://knihy.cpress.cz/book.asp?id=1490
http://www.elegenda.sk/knihy/technika-pocitace/programovanie/kolektiv-autorov-vyvoj-her-v-jazyku-java/
prva kniha co som stihol do nej nahliadnut je velmi podrobna ale popisuje to skor teroeticky.
bohuzial druha sa uz (pravdepodobne) nepredava. som ju kupil za 169Sk vo vypredaji a su tam dost podrobne popisane principi 3D projekcie texturovania povrcho a ich osvetlenia. to vsetko rucne softverovo.
EDIT: som to zacal pisat skor nez augi postol. no ano je to absolutne zbytocne to robit. nanajvis si mozes skusit spravit nejaky jednoduche vykreslovanie v trojuholnikov v 3D ale to je tak vsetko. povedal by som ze OGL a aj DX je dost lowlevel hlavne pri pouziti shaderov. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Elijen2
Založen: 04. 11. 2008 Příspěvky: 3
|
Zaslal: 4. listopad 2008, 13:55:46 Předmět: |
|
|
Augi napsal: |
Vlastní 3D API? To jako něco místo Direct3D nebo OpenGL? S kolika výrobci karet už máš smlouvu na drivery? Nebo chceš udělat nějaký super 3D API, který bude abstrahovat libovolný existující 3D API? Pokud tak (to je reálnější myšlenka), tak to chce mít důkladně nastudované ty existující 3D API, abys dokázal co nejlépe abstrahovat.
|
API je asi příliš silné slovo, jde mi předevšim o to vyzkoušet si jak funguje vykreslování a transformace. Prozatim by mi stačilo udělat API, pomocí kterého půjde vykreslit a animovat otexturovaná krychle. Konkurovat DirectX nebo OpenGL budu až později
Augi napsal: |
Jinak 3D engine se zabývá spíše tím, jak udělat z 3D jen 2D Wink Opačný postup může spadat do kategorie strojového rozeznávání obrazu Wink
|
Jasně, to je slovíčkaření ... já to myslel tak, že pomocí 2D vykreslim "iluzi" 3D.
V DirectX SDK jsem zatím našel jen jeho praktické použití, nikoly algoritmy a postupy, které používá, ale ještě se v něm pohrabu.
Jinak tu knihu Moderní počítačová grafika mam někde v některém ze starších vydání zahrabanou, ale uplně jsem na její existenci zapoměl, dík za připomenutí  |
|
Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 4. listopad 2008, 14:20:22 Předmět: |
|
|
V té Moderní počítačové grafice by to mohlo být. Jinak přeju dobrou zábavu, třeba takový DDA algoritmus pro kružnice nebo různé ořezávání jsou docela chuťovky. _________________ Mám strach |
|
Návrat nahoru |
|
 |
Augi

Založen: 28. 07. 2007 Příspěvky: 782 Bydliště: Čerčany
|
Zaslal: 4. listopad 2008, 14:47:51 Předmět: |
|
|
Elijen2 napsal: |
Jasně, to je slovíčkaření ... já to myslel tak, že pomocí 2D vykreslim "iluzi" 3D. |
Není, při programování je potřeba se vyjadřovat exaktně Příklad:
A: Smaž z tabulky Tab3 všechny záznamy starší než týden.
B: OK
B: DONE
A: Sakra, tys ty záznamy smazal! Jsem myslel jen jim nastavit sloupec Deleted na 1. |
|
Návrat nahoru |
|
 |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 4. listopad 2008, 14:50:54 Předmět: |
|
|
Ja jsem to pochopil tak, ze chces naprogramovat softwarovy renderer. Tedy vse si udelat (spocitat) sam na CPU. Hodi se to jen na to, ze si potrenujes programovani a algebru. Prakticke pouziti to nema (snad jen ze by jsi z toho po 100 letech vyvinul 3D studio )
Pisu, protoze jsem kdysi davno neco takoveho taky delal: Renderer, ktery umi vykreslovat polygonovou scenu, viditelnost tridi pomoci BSP stromu, texturuje a sviti. Stahovat muzes zde: www.krkal.org/download/mddoom.zip. Na zdrojaky se radsi moc nedivej Ale zajimava pro tebe muze byt dokumentace, jak moje, tak tehdejsiho enginu Crystal Space. _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
Elijen2
Založen: 04. 11. 2008 Příspěvky: 3
|
Zaslal: 4. listopad 2008, 15:15:13 Předmět: |
|
|
MD napsal: |
Ja jsem to pochopil tak, ze chces naprogramovat softwarovy renderer. Tedy vse si udelat (spocitat) sam na CPU. Hodi se to jen na to, ze si potrenujes programovani a algebru. Prakticke pouziti to nema (snad jen ze by jsi z toho po 100 letech vyvinul 3D studio )
|
To je jasné, dokud budou GK harwarově podporovat DirectX a OpenGl nemá smysl vytvářet si jiné API. Moje hlavní motivace je něco se o tom dozvědět a zjistit jak to funguje, takhle je programování pro DirectX jen tupé volání funkcí, o kterých pořádně nevím co dělají.
MD napsal: |
Pisu, protoze jsem kdysi davno neco takoveho taky delal: Renderer, ktery umi vykreslovat polygonovou scenu, viditelnost tridi pomoci BSP stromu, texturuje a sviti. Stahovat muzes zde: www.krkal.org/download/mddoom.zip. Na zdrojaky se radsi moc nedivej Ale zajimava pro tebe muze byt dokumentace, jak moje, tak tehdejsiho enginu Crystal Space. |
Jo, přesně něco takového jsem chtěl udělat (jako vzor mam taky dooma ), tisíceré díky.
Quiark napsal: |
V té Moderní počítačové grafice by to mohlo být. Jinak přeju dobrou zábavu, třeba takový DDA algoritmus pro kružnice nebo různé ořezávání jsou docela chuťovky. |
Dík
Btw wiki píše o DDA, že je to jednoduchý algoritmus  |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 4. listopad 2008, 16:13:25 Předmět: |
|
|
MD napsal: |
Pisu, protoze jsem kdysi davno neco takoveho taky delal: Renderer, ktery umi vykreslovat polygonovou scenu, viditelnost tridi pomoci BSP stromu, texturuje a sviti. Stahovat muzes zde: www.krkal.org/download/mddoom.zip. |
Nice, pak na to v nejblizsi dobe kouknu, vypada to dobre (spustene, zdrojaky jsem zatim neoteviral). Dokonce tam mas i mipmapping a linearni interpolaci barev mezi vertexy funkcni i v 8bitovych grafickych rezimech . _________________ Award-winning game developer
Naposledy upravil Ladis dne 4. listopad 2008, 16:15:21, celkově upraveno 1 krát |
|
Návrat nahoru |
|
 |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 4. listopad 2008, 16:14:22 Předmět: |
|
|
Muzes zkusit i toto: http://cgg.ms.mff.cuni.cz/~pepca/lectures/pgr003.html Jsou to slajdy z uvodni prednasky z pocitacove grafiky - jsou tam vsechny ty zaklady vcetne DDA. Pokrocilejsi veci jsou pak reseny v navazujicich prednaskach. _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 4. listopad 2008, 16:24:22 Předmět: |
|
|
Ladis napsal: |
funkcni i v 8bitovych grafickych rezimech . |
Na tohle uz jsem uplne zapomnel.. Tyjo ono to fakt funguje Neuveritelny! Jinak diky za pochvalu, jen nevim jestli v tom neco vykoukas, zas takova krasa to neni .. _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
|
Návrat nahoru |
|
 |
Elijen
Založen: 15. 04. 2008 Příspěvky: 7
|
Zaslal: 5. listopad 2008, 11:21:39 Předmět: |
|
|
Hehe, tuhle přednášku si chci zapsat příští rok
edit: Paráda, vypadá to, že se tu nakonec nahromadí celkem slušná sbírka užitečnejch okazů, takže díky moc všem.
MD: Ty zdrojáky jsou celkem peklo ... jaké funkce vlastně používáš na vykreslování pixelů a čar? Já mam ještě starý Turbo C/C++ a tam je jen graphics.h. |
|
Návrat nahoru |
|
 |
MD

Založen: 29. 07. 2007 Příspěvky: 437 Bydliště: Praha
|
Zaslal: 5. listopad 2008, 12:01:36 Předmět: |
|
|
Elijen napsal: |
MD: Ty zdrojáky jsou celkem peklo ... jaké funkce vlastně používáš na vykreslování pixelů a čar? Já mam ještě starý Turbo C/C++ a tam je jen graphics.h. |
hihi Pro vykreslovani pouzivam knihovnu allegro. A funkce na pixely a cary tam myslim zadne nepouzivam. Pres allegro si zpristupnim primo BackBuffer jako dvourozmerne pole - a do nej pisu, co potrebuju.
Jinak stary Turbo C/C++ se pro tohle nehodi, protoze pracuje v 16bitech a to znamena strasne malo dostupne pameti. Poohledni se po necem novejsim. (allegro se da stahnout i dnes a pouzit treba ve Visual studiu) _________________ - play with objects - www.krkal.org - |
|
Návrat nahoru |
|
 |
pcmaster

Založen: 28. 07. 2007 Příspěvky: 1827
|
Zaslal: 5. listopad 2008, 14:31:14 Předmět: |
|
|
V Modernej Pocitacovej Grafike (2) mas vsetko, co k tomu potrebujes. Mna ucili presne ti isti ludia, ktori to napisali a podla toho sme si vlastnu 2D aj 3D (z-buffer) SW renderovaciu kniznicu nakodili. Complete from scratch.
Je to celkom dobra kniha, na ceske pomery  _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
 |
|