.[ ČeskéHry.cz ].
Struktura 3D Enginu
Jdi na stránku 1, 2, 3  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
micro.21



Založen: 18. 09. 2007
Příspěvky: 7
Bydliště: Ostrava

PříspěvekZaslal: 18. září 2007, 18:41:04    Předmět: Struktura 3D Enginu Odpovědět s citátem

Doposud jsem programoval pouze ve 2D rezimu, ale ted bych chtel naprogramovat 3D engine. Jakozto co se tyce 3D enginu naprosty laik bych se chtel optat jestli nekdo neznate nejaky clanek, ktery pojednava o strukture takoveho 3D enginu. Nepotrebuju aby to bylo o celkovem naprogramovani 3D enginu vcetne vyuky programovani v openGl nebo direct 3D.. to zmaknu sam.. Chtel bych jen takovy teoreticky zaklad at vim co tam mam vlastne naprogramovat.

PS: Googlil jsem, ale nic moc kloudneho jsem nenasel a kdyz jsem neco nasel tak uz to bylo smazane.

Predem dekuji za vsechny odpovedi..
_________________
Let me die happier..
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 18. září 2007, 19:17:22    Předmět: Odpovědět s citátem

Vpravo nahoře máš odkaz na NeHe tutoriály...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
igor



Založen: 28. 07. 2007
Příspěvky: 196

PříspěvekZaslal: 18. září 2007, 20:11:19    Předmět: Odpovědět s citátem

Jestli tim myslis nejake navrhy a realizace enginu hodnych Unreal 4 enginu, s pokrocilou architekturou, univerzalnosti pro vsechno atd atd, tak ja bych se na to doporucoval vybodnout. Soustred se na hry/aplikace ktere chces vytvorit.
http://scientificninja.com/advice/write-games-not-engines
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
prost



Založen: 30. 07. 2007
Příspěvky: 109
Bydliště: cvut fel, stm

PříspěvekZaslal: 18. září 2007, 20:33:02    Předmět: Odpovědět s citátem

asi se tyto informace nedaji splachnout do clanku, ale vejdou se jen do baculatych knih.
a uz bez, na nic necekej! pro jednoho cloveka je to totiz beh na pekelne dlouhou trat Very Happy
_________________
BbB
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 18. září 2007, 21:32:38    Předmět: Odpovědět s citátem

Tady je na místě podotknout, že je vhodné uvážit, zda nepoužít některý hotový free 3d engine. Je jich dost.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 18. září 2007, 21:41:15    Předmět: Odpovědět s citátem

Tak záleží, co je tazatelovým cílem. Pokud hra, tak by imho byl opravdu lepší nějaký existující engine. Pokud se chce ale něco hlubšího dozvědět o 3D grafice, tak je prgání vlastního enginu dobrá cesta...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
igor



Založen: 28. 07. 2007
Příspěvky: 196

PříspěvekZaslal: 18. září 2007, 21:49:59    Předmět: Odpovědět s citátem

No s tim ucenim - lepsi cesta nez se snazit udelat engine je imho delat hru/hricku/aplikaci/demo/efekt (klidne s ohledem na to, co se chci naucit) - treba ja nerikam nic o free enginech (tazatel chce prece se neco naucit o 3d grafice, pozkouset sam atd). Proste je lepsi resit realne problemy, ktere se vyresit musi (abych dosahl vysledku), nez bez zadnych vetsich zkusenosti se snazit udelat 3d engine. Ten muj link to pekne popisuje a ja s tim souhlasim.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
micro.21



Založen: 18. 09. 2007
Příspěvky: 7
Bydliště: Ostrava

PříspěvekZaslal: 19. září 2007, 06:59:08    Předmět: prc chci psat svuj 3D engine Odpovědět s citátem

Ja bych trochu blize popsal o co mi jde.. Je mi jasne ze programovani enginu je neni zalezitost par mesicu ale spise roku. Nechci pouzit hotovy engine protoze je to pro me technologicka vyzva. Chci do toho vice proniknout. Vlastne programovat 3D grafiku uz jakz takz umim.. nejake nacitani modelu, animace postavy, atd. Spise jsem ani nechtel nic velkeho tim myslim nejake knihy co pojednavaji o 3D grafice.. takove uz doma mam. chtel jsem jen neco kde budu mit v jednoduchych bodech napsanou tu nejzakladnejsi strukturu toho co musi 3D engine obsahovat aby dokazal spravne fungovat napr.

- nacitani textu
- nacitani modelu
- antialiasing
- atd.

Navic chci ten engine napsat kompletne pod Javou protoze navzdory tomu co maji lidi o 3D knihovne Javy za predsudky Java je na programovani her dobra. To netvrdim ja to tvrdi odbornici co udelali propracovane studie.

Tolik tedy k tomu proc chci psat svuj 3D engine. Dekuji vsem co mi odpovedeli a treba jeste pomuzou..
_________________
Let me die happier..
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 19. září 2007, 08:12:04    Předmět: Odpovědět s citátem

Sice nemám odkaz na žádný článek, ale engine sem už naprogramoval a nějaký jiný sem viděl, tak snad pomůže těchto pár postřehů. Kdybys něco potřeboval, klidně napiš mail, nebo icq.

Je potřeba rozmyslet se, jestli má být engine obecný, nebo dělaný na nějaký žánr her, či dokonce přímo na jeden účel. (Obecný engine nedoporučuju). Architektura se pak odvíjí od použití. Když například víš, že hra bude pro letecký simulátory, můžeš materiály a objekty napsat a optimalizovat jednoduše pouze pro Stromy, Budovy, Vehikly, Letadla a třeba Vodu. Myslím, že neexistuje nějaký správný recept pro architekturu enginu, je to vždycky podle toho, na co je.
Tady je ještě pár kravin, co mě k tomu napadly:

1) Scene Graph
- struktura (hierarchie) objektů neboli transformační strom. Většinou jsou to nějaký objekty (uzel), který mají mít jednoho rodiče a více potomků...
- rodič se stará o uvolnění potomka z paměti
- když se přesune rodič, přesunou se i všechny jeho děti
- třída kamery může být odvozena od uzlu scény

Doporučuju napsat (používat) vlastní matematickou knihovnu pro maticové a vektorové výpočty, funkce se většinou zapouzdří do třídy uzlu scény.

2) Objekty
- 3D objekty můžeš přímo podědit od uzlu scény, nebo (to pužívám já), je navěsíš na uzel scény, přičemž transformace používá z toho uzlu

Objekty ještě můžeš rozdělit na Solid a Animované. Pak by měl ještě existovat nějaký manager, který bude umět nabrat objem pohledu ze scény (např. Octree + Frustum Culling) a předat ho k rendereru. Renderer je nějaký další manager, který řadí objekty v objemu pohledu (např. Blendované podle vzdálenosti) a volá jejich vykreslovací funkce.

3) formáty souborů
- můžeš napsat nějaký obecný interface, který bude jádro enginu (Objekt) umět načítat a tento interface potom implementovat v nějakých loaderech. Nejlepší je vlastní formát, ale tímto si nezavřeš cestu k dalším formátům.

4) Managery souborů
- různý věci (Textury, Materiály, Meshe) je dobrý načítat přes nějaký manager, který si pamatuje co už je načtený a co ne, tím pádem nemusíš načítat zbytečně třeba 3x stejnou texturu

5) Různé efekty
efekty sou často naprosto specifické objekty (částicové efekty, ...) nemá cenu je řešit přes SecneGraph a nakládat s nima podobně jako se solid objektama. Je lepší mít na takovéto věci napsaný vlastní vyhovující podsystém.

6) Kořen všeho.
Celkem se mi vyplatilo používat nějaký Singleton, pojmenovaný třeba Engine, který je přístupný ve všech unitách a zpřístupňující objektům různé podsystémy. Např.
Engine.TextureManager
Engine.SceneManager
Engine.Scene
...


No nevím, jestli sem to nepsal zbytečně, jak už tady bylo zmíněno, dá se o tom napsat knížka.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
micro.21



Založen: 18. 09. 2007
Příspěvky: 7
Bydliště: Ostrava

PříspěvekZaslal: 19. září 2007, 08:43:42    Předmět: podekovani Odpovědět s citátem

TO ]SEMO[: moc diky to je presne to co jsem potreboval, kdybych teda nahodou potreboval poradit tak bych se ozval na ten mail nebo icq.. jeste jednou moc diky.
_________________
Let me die happier..
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 19. září 2007, 09:11:25    Předmět: Odpovědět s citátem

No já musím jen potvrdit co napsal semo. I když jsem o návrhu enginu nepřečetl prakticky nic, tak praxí jsem došel ke stejným závěrů, jak je tady pěkně sepsal semo (možná by to stálo za přepis do wiki). Akorát teda ten singleton se mi moc nelíbí...Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 19. září 2007, 16:24:52    Předmět: Odpovědět s citátem

Do wiki to můžu dát, ale chtělo by to napsat líp a to se mi nechce :). Leda když bude zájem.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Fundin



Založen: 19. 08. 2007
Příspěvky: 51
Bydliště: Praha

PříspěvekZaslal: 19. září 2007, 17:55:31    Předmět: Odpovědět s citátem

Tak zajem by urcite byl:) a kdyby si se jeste trochu rozepsal taky by to nevadilo..
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Crusty



Založen: 28. 08. 2007
Příspěvky: 120
Bydliště: Praha

PříspěvekZaslal: 5. listopad 2007, 09:01:06    Předmět: Odpovědět s citátem

]semo[ napsal:
...Leda když bude zájem.


jaaa projevuji zajem. Smile
Neco takoveho pomuze spouste lidem co se postupne uci jednotlive veci, ale pak jim dela problem to nejak rozume poskladat dokupy.
_________________
http://www.2ox.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 5. listopad 2007, 16:55:44    Předmět: Odpovědět s citátem

]semo[ napsal:
Do wiki to můžu dát, ale chtělo by to napsat líp a to se mi nechce Smile. Leda když bude zájem.

Tak něco sesmol, pak bych tam mohl něco doplnit, někdo jiný by to mohl dodatečně zvalidovat a poté by se to mohlo přesunout do magazínu jako článek. Wink
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2, 3  Další
Strana 1 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna