Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: stewe 18. 12. 2011, 16:38:13

Název: Výběr grafického enginu
Přispěvatel: stewe 18. 12. 2011, 16:38:13
Zdravim,

chcel by som sa naucit nejake jednoduche veci s 3d grafikou, vykreslit scenu, pohyb po nej ... chcel by som si spravit nejaky teren a len sa pozerat po okoli z vtacej perspektivy ... ziadne first person strielacky ani podobne.

Zadanie by bolo, tazsie je to s realizaciou, povedzme si na na rovinu, je z coho vyberat.

V prvom rade neviem, ci pouzit nejaky framework alebo to vsetko napisat od zaciatku, low level. A dalej v akom jazyku. Osobne sa mi protivi nieco robit v c++, i ked viem, ze to je asi najvhodnejsie. ja by som preferoval javu ale tam teda neviem ake su moznosti.

napriklad taky irrlicht je na c++, ma to rozne bindingy, aj nejaky jirr na javu ale proste ... neviem teda ako bude java vykonna v 3d :D

dalsia moznost je pouzit opengl ale zasa, pisat to v cistom c++ mi pripada ako kanon na vrabce.

potom su tu rozne moznosti ako pouzitie skriptovacich jazykov (napr. ze binding opengl + lua) ale vsetky tieto moznosti mi pripadaju strasne nevyspele, nie je za tym komunita, bastli si to nejaky typek doma na kolene ... nema to proste az tak dobru penetraciu.

takze zasa som skoncil pri tych frameworkoch a pouzitiu c++ sa asi nevyhnem, ale c++ fakt neznasam.

este by som bol rad, ked by sa to dalo pisat v c#, aspon by som sa c# viac naucil, nechcem sa proste c++ venovat.
takze java / c# + nejaky sikovny framework postaveny na opengl. existuje wrapper na c#, irrlicht.net ...

dajem to chcem pisat pod linuxom, s takym monodevelop by to nemal byt problem.

mate nejake vhodnejsie riesenie pre moje potreby?

dakujem za napady
Název: Re:vyber grafickeho enginu
Přispěvatel: cortex 18. 12. 2011, 17:03:46
skus sa pozriet na http://unity3d.com/ mozno je to odpoved aj na tvoje C# a  monodevelop.  skratka  je to hnusne mono ale snad ti to  pomoze.
Název: Re:vyber grafickeho enginu
Přispěvatel: cortex 18. 12. 2011, 17:05:33
skus sa pozriet na http://unity3d.com/ mozno je to odpoved aj na tvoje C# a  monodevelop.  skratka  je to hnusne mono ale snad ti to  pomoze.
o ako tak pozeram oklamal som ta nikde tam nevidim moznost pouzivat to v "linuxe"
Název: Re:vyber grafickeho enginu
Přispěvatel: stewe 18. 12. 2011, 17:25:20
hej vsimol som si :)

moze to byt fajn riesenie ale ja by som chcel viac programovat aj ked to moze byt drina. tieto nastroje mi pripadaju strasne velke, vie to vsetko hned a je to pomaly "klikacka". mne ide skorej o to pochopit ako sa to vlastne vsetko robi, cela ta grafika, aj ked to moze vyzerat ako z roku 3. framework by mi mal len poskytnut nejake api aby som to robil pohodlnejsie ale zasa by to nemalo byt "az tak" napomocne ...
Název: Re:vyber grafickeho enginu
Přispěvatel: Student 18. 12. 2011, 18:02:48
Kdo říká, že v Javě nelze vyvíjet kvalitní 3D aplikace? Stačí se podívat na Minecraft. A OpenGL můžeš používat i s Javou.
Název: Re:vyber grafickeho enginu
Přispěvatel: Koudy 18. 12. 2011, 18:45:49
zkus se podívat na JME http://jmonkeyengine.com/
Název: Re:vyber grafickeho enginu
Přispěvatel: D.A. Tiger 18. 12. 2011, 19:12:36
Vyber si :
atmosphir        - http://atmosphir.com/
Chrystal Space - http://www.crystalspace3d.org/main/Main_Page
Luxinia            - http://www.luxinia.de/index.php/Main/HomePage
OGRE              - http://www.ogre3d.org/
Panda3D          - http://www.panda3d.org/
Sphere            - http://chadaustin.me/sphere/
Cafu Engine      - http://www.cafu.de/
 
Název: Re:vyber grafickeho enginu
Přispěvatel: D.A. Tiger 18. 12. 2011, 19:15:56
Ještě k tomu - to jsou enginy, které znám a nebo o nichž alespoń vím. Bohužel jsem nějak opoměl tvůj požadavek na C#, dost neobvyklé zrovna pro Linux, takže se musíš mrknout jestli některý z těch projektů to nenabízí :)
Název: Re:vyber grafickeho enginu
Přispěvatel: D.A. Tiger 18. 12. 2011, 19:24:01
Ještě bych málem zapoměl : https://github.com/TTimo/doom3.gpl  :-D
Název: Re:vyber grafickeho enginu
Přispěvatel: stewe 19. 12. 2011, 00:52:57
Vyber si :
atmosphir        - http://atmosphir.com/
Chrystal Space - http://www.crystalspace3d.org/main/Main_Page
Luxinia            - http://www.luxinia.de/index.php/Main/HomePage
OGRE              - http://www.ogre3d.org/
Panda3D          - http://www.panda3d.org/
Sphere            - http://chadaustin.me/sphere/
Cafu Engine      - http://www.cafu.de/
 

ogre a panda vyzeraju dobre, mozno aj luxinia, tam sa pouziva lua, nejaky taky sikovny jazyk nie je odveci vediet :)
Název: Re:vyber grafickeho enginu
Přispěvatel: stewe 19. 12. 2011, 00:53:59
zkus se podívat na JME http://jmonkeyengine.com/

toto vyzera zatial najslubnejsie, dakujem za radu
Název: Re:vyber grafickeho enginu
Přispěvatel: stewe 19. 12. 2011, 01:46:58
skusil som ten jmonkey engine, fakt pecka!!!! :)
Název: Re:Výběr grafického enginu
Přispěvatel: Earl 19. 12. 2011, 15:29:43
Nejlepší je jednoznačně Torque 3D. Navíc lze za drobný bakšiš výsledek prodávat.
www.garagegames.com
Název: Re:vyber grafickeho enginu
Přispěvatel: Tomas Voracek 19. 12. 2011, 16:04:36
Kdo říká, že v Javě nelze vyvíjet kvalitní 3D aplikace? Stačí se podívat na Minecraft. A OpenGL můžeš používat i s Javou.

Tak zrovna Minecraft bych za ukazku 3D v Jave nedal :-)
Název: Re:Výběr grafického enginu
Přispěvatel: andy 19. 12. 2011, 17:06:52
Ked sa chces ucit 3d, tak nepouzivaj kniznice... Skus webgl s javascriptom. Ma to tu "vyhodu", ze to je skript. Myslim, ze aj nehe-ho niekto prerobil na webgl.
Název: Re:Výběr grafického enginu
Přispěvatel: DarkKnight 19. 12. 2011, 21:29:35
Tomas: proc ne? zpracovane to je dobre :)
Název: Re:Výběr grafického enginu
Přispěvatel: Jelen 19. 12. 2011, 22:38:59
Kdo říká, že v Javě nelze vyvíjet kvalitní 3D aplikace? Stačí se podívat na Minecraft. A OpenGL můžeš používat i s Javou.

Tak zrovna Minecraft bych za ukazku 3D v Jave nedal :-)

Taky nechápu co ti vadí na Minecraftu? Podle mě je skvělý. A která jiná technologie ti umožní takové věci, jako spouštět hru z jak z prohlížeče, tak na desktopu? (skrz aplet) www.minecraft.net/classic/play

Vezmi v úvahu, že původní Minecraft napsal JEDEN člověk! Perfektní ukázka efektivního vývoje v Javě. Není to dokonalý program, ale poměr (vložené úsilí/ získaná hodnota) je výborný.
Název: Re:Výběr grafického enginu
Přispěvatel: shadow 19. 12. 2011, 22:46:41
Souhlasím s Tomášem. Minecraft opravdu není dobrý příklad na OpenGL aplikaci napsanou v Javě. Je mi jasné že teď tady pro mnohé lidi rozpoutám flamewar když napíšu že Java je v tomhle ohledu pomalá, ALE než začnete rýpat zkuste si napsat dvě stejné aplikace jednu v Javě jednu v C nebo C++, které budou provádět tyto operace pro generování terénu FFT, Perlin noise, Fraktál brownového pohybu, vygenerovaný voxelový 3d prostor optimalizujte přes Octrees a frustum culling. Java aplikace bude v tomhle ještě stále pokulhávat. Nemám nic proti Javě jako samotné, ale na některé aplikace mi stále nepříjde moc ideální. Zato na nějaké rychlé prototypování je to super i když co se prototypování týče bych dal osobně přednost raději Pythonu.

Co se toho Minecraftu týče tak jediné plus které to z Javy má je to že se to dá spouštět jako applet i klidně z browseru :) ALE generovat rozsáhlý, komplexní voxelový svět v JAVĚ ? to mě raději ukamenujte.... Pořád mlčky doufám že se Minecraft přepíše do něčeho smysluplnějšího než je Java....

Shadow
Název: Re:Výběr grafického enginu
Přispěvatel: stewe 19. 12. 2011, 22:55:52
.. zkuste si napsat dvě stejné aplikace jednu v Javě jednu v C nebo C++, které budou provádět tyto operace pro generování terénu FFT, Perlin noise, Fraktál brownového pohybu, vygenerovaný voxelový 3d prostor optimalizujte přes Octrees a frustum culling. Java aplikace bude v tomhle ještě stále pokulhávat.

Ja by som chcel naimplementovat diamond-square algoritmus na vygenerovanie nejakeho landscape-u, bude tu java prekazka? podla mna ked ten rozmer heightmap-y nespravim nejaky strasne velky tak to java zvladne v pohode. neviem ale ci to bude prekazka napriklad pri osvetlovani (napr. ze slnko sa hyba po oblohe a meni tien povrchu) alebo simulacii realneho terenu (akoze pustim z kopca loptu a bude sa kotulat dole svahom)
Název: Re:Výběr grafického enginu
Přispěvatel: shadow 19. 12. 2011, 23:03:11
stewe: jestli se někdo bude po nocích nudit tak si může něco naprogramovat :)
Název: Re:Výběr grafického enginu
Přispěvatel: Tomas Voracek 19. 12. 2011, 23:41:07
@DarkNight & Jelen: Nevsiml jsem si, ze bych na Minecraft hazel nejakou spinu. Pred Notchem smekam, za to ze to dotahl do konce a kolik na takovehle "hlouposti" (budme uprimni) vydelal. To bezesporu.

@Jelen "Perfektní ukázka efektivního vývoje v Javě" Opravdu me nechtej rozesmat. Je videt ze jsi o Minecraftu, jeho procesu vyvoje vubec ale vubec nic necetl. Ja ano a muzu ti sdelit, ze Minecraft mel obrovske porodni bolesti a ze Notch si s nim teda uzil. Take behem vyvoje nadelal kopec chyb, kdy v jednu chvili neustale zahazoval rozepsany projekt a zase ho psal uplne od znova. Byl pekne frustrovany. Takze tak  :)
Název: Re:Výběr grafického enginu
Přispěvatel: Tomas Voracek 19. 12. 2011, 23:46:36
Co se tyce obecne vykonu platforem, tak specialne Java/C#(XNA) jsou do urcite miry dostatecne rychle, nez se ke slovu dostane GC ze  :) Obzvlast na X360 to je radost. Object polling absolutni nutnosti.
Název: Re:Výběr grafického enginu
Přispěvatel: ferren 20. 12. 2011, 23:43:47
doporucoval bych napred ciste OpenGL. jde spis o pochopeni principu,ve finale je docela fuk jestli to pak bude v C/C++ Jave nebo cemkoli jinem.na OpenGL je hezky ze se svou jednoduchou strukturou vypada ve vsech jazycich temer stejne.je to taky suverene nejrozsirenejsi API pro grafiku,prakticky kazdy hw a os s grafickymi ambicemi OpenGL ma. jinak je fajn napred zacit s klasickou pipeline, ale urcite pak prejit na GLSL,bez shaderu bych dnes uz nic nezacinal. lakava je taky navaznost na OpenCL,ktere ideove OpenGL pripomina a osobne vidim velkou budoucnost v CPU/GPU smisenem programovani