Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 16.6.2008, 11:29   #1
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Arrow Direct3D 9 Engine

Pozdrav svima!

Naslov teme nam kaže, započeo sam projekat 3D Engine-a pisanog u C++-u koji koristi Direct3D 9. Mislio sam da bi možda mogao ovo brže i kvalitetnije da uradim uz pomoć nekih forumaša koji već imaju iskustva u ovome, pošto ja još imam da učim. Naravno, takođe mislim da bi tako, ako radimo zajedno, lakše i brže napravili kvalitetniji engine sa dodatnim mogućnostima. Ko želi da se uključi u ovaj projekat, neka me kontaktira na PM. Očekujem i javne komentare na ovu ideju.

Dakle, da zađemo malo dublje u samu konstrukciju engine-a, on bi (razume se) bio DLL koji se može pozivati iz drugih aplikacija. A sada malo tehničkih detalja:
Cilj engine-a bi bio da korisnicima približi način poziva starog D3D-a sedmice Retained Mode. Mislim na to da se sve radi na način malo pristupačniji nego plain Direct3D 9 jer bi sve tako bilo lakše za početak developing-a neke čak možda i komplikovanije 3D igre. Engine bi trebalo da podržava sve one advanced features D3D-a 9, kao što je recimo blur, i oni različiti efekti koje on ima kao neke advanced metode. Pored samog Direct3D-a, engine bi možda mogao da se bavi i input-om, zvukom ili 2D grafikom (za HUD) mada nama je najbitnije 3D. Odabrao sam C++ zbog toga što ne zahteva .NET framework, a uz to je (koliko sam ja razumeo neke elektronske izvore) i brži od C#-a.

Interesuje me šta forum misli o ovakvoj ideji.
Ko god želi da se uključi u projekat neka se javi u ovoj temi ili na PM.

Pozdrav!

EDIT: Imam i problem u vezi header fajlova u nekim sample-ovima u DirectX 9 SDK, kompajler prijavljuje da ne može da nađe d3dx9.h i d3dxof.lib dok d3d9.h i mnoge druge .lib fajlove nalazi i include-uje bez problema. Fajlovi koje sam naveo postoje u istom direktorijumu sa fajlovima koje je normalno pronašao. Zna li neko šta da radim?

Poslednja ispravka: Geomaster (16.6.2008 u 12:31)
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 16.6.2008, 17:43   #2
allokin
Veteran
 
Član od: 17.1.2008.
Lokacija: Београд
Poruke: 636
Zahvalnice: 481
Zahvaljeno 128 puta na 85 poruka
Određen forumom Re: Direct3D 9 Engine

Mozda ti headeri includuju neke druge koje ti nemas?
allokin je offline   Odgovor sa citatom ove poruke
Stara 17.6.2008, 10:10   #3
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Lightbulb Re: Direct3D 9 Engine

Ne bih rekao, on cele header-e ne može da nađe. Npr. evo ga parče koda koje includuje sve te header-e:
Kod:
#include <d3d9.h>
#include <d3dx9.h>
Kompajler normalno pređe preko linije #include <d3d9.h>, ali prijavljuje da fajl d3dx9.h uopšte ne postoji, iako se nalazi u istom folderu sa d3d9.h, mada ja možda gledam pogrešan folder.

Btw, nema nikog? Barem da kaže šta misli??? Weird...

EDIT: Evo preko Windows search-a sam tražio fajl d3dx9.h i d3d9.h i našao ih je na tom jednom mestu. Upravo sam locirao i već kompajlovane .exe verzije tih primera i one rade perfektno. Ma dobro, problem kao problem, rešiću ga ja, ali mi je zaista čudno da baš niko ne postuje ni jedan komentar na ideju. Vidim da tema ima 53 pregleda... LOL

Poslednja ispravka: Geomaster (17.6.2008 u 13:16)
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 17.6.2008, 10:39   #4
<Rio_da>
Starosedelac
 
Član od: 25.1.2007.
Lokacija: Beograd
Poruke: 2.087
Zahvalnice: 213
Zahvaljeno 300 puta na 236 poruka
Određen forumom Re: Direct3D 9 Engine

Ideja je je veoma zanimljiva ali dzabe, ja recimo tek ucim C++ pa ne bi znao nista da uradim prakticno, a onaj ko zna C++ radi negde i nema vremena da se bakce sa ovim...

verujem da ce kad tad neko da ti se pridruzi
<Rio_da> je offline   Odgovor sa citatom ove poruke
Stara 17.6.2008, 11:05   #5
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Thumbs up Re: Direct3D 9 Engine

Pa ja sam na primer, veteran D3D-a osmice u Visual Basicu, a C++ znam za sad samo sintaksu i još nešto tu i tamo, ali sa obrzirom na sličnost Direct3D-a za VB i C++ mogao bih da počnem da pravim 3D igre... Sad mi je letnji raspust pa ja imam puno vremena sad. Tražim tutorijale, učim... Mislim kad-tad ja bih naučio dovoljno da sam napravim taj engine. Ali kad bi to bilo? A uz to, ovde ima naravno, mnogo onih koji bi znali da to bolje i brže urade nego ja sam. Međutim, cilj je da radimo zajedno. Sve u svemu, razumem da neko nema vremena, ali ko ima vremena i koga ne mrzi... svaka čast. Neko će sigurno doći, a ja ću za to vreme skupljati tutorijale i učiti. Pa ćemo videti...

Btw, mogao bi i ti da se pridružiš... Nema veze što tek učiš C++, ako imaš vremena i volje... Uradićemo već nešto .

Edit: Yaay. Uspeo sam. Samo je trebalo prekopirati sve *.h i *.lib fajlove d3d-a 9 u VC++ Install Directory...

Poslednja ispravka: Geomaster (17.6.2008 u 13:10)
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 4.10.2008, 10:06   #6
Martin.Tyler
Novi član
 
Član od: 4.10.2008.
Poruke: 10
Zahvalnice: 13
Zahvaljeno 0 puta na 0 poruka
Lightbulb Re: Direct3D 9 Engine

Geomaster, ovo sto si napisao deluje vrlo primamljivo mada nisam bas sasvim siguran sta projekat treba da radi, vidim da spominjes neki stari retail 7. Inace nemoj se previse nadati da ti mogu pomoci, tek pocinjem sa Dx9 i ucim Javu vec odavno. Ako se jos uvek zanimas sa ovim ajde mi potvrdi nekako mozda mozemo nesto da se dogovorimo . Sto se mene tice, presao sam nabrzinu knjigu o dx9, Luna se zove, nemam sa cime da je uporedim tako da je dobra, ali me definitivno zanima DirectX.
Pozdrav.
Martin
Martin.Tyler je offline   Odgovor sa citatom ove poruke
Stara 4.10.2008, 13:14   #7
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Question Re: Direct3D 9 Engine

Pa sad... Bilo kakvu knjigu za DirectX možeš odmah da pređeš, ali nisi naveo ni u kom programskom jeziku radiš (Java ili... ) a te knjige moraju da se razumeju da bi znao da radiš u DX-u. I ne znam koji te API iz DX-a zanima ili bi hteo sve da koristiš (Direct3D, DirectInput, DirectSound, XAudio, X3DAudio, XInput, XACT) Daj malo preciznije informacije...

I da, Direct3D je do sedmice imao RM (retained mode) koji je dozvoljavao build scene (kao neki scenemanager) ali je radio mnogo sporije nego direktni immediate mode. Mislio sam da se ovde nešto tako implementira, ali da bude mnogo brže.
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 7.10.2008, 2:02   #8
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Direct3D 9 Engine

Dakle shta si odluchio? Nemam pojma zashto ali pre 2 minuta sam krenuo da razmishljam o gamedev-u opet :S
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 7.10.2008, 14:23   #9
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Exclamation Re: Direct3D 9 Engine

Ovaj engine će pričekati dok ne završim Lost World Zetu
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 7.10.2008, 21:20   #10
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Direct3D 9 Engine

ok, ja cu zapocheti projekat mada razmishljam dosta o tome... shvatio sam da engine ne moze biti univerzalan nego mora biti namenjen nekom tipu igre (primer su Cry Engine, Source)... tako da razmishljam shta je najlakshe odraditi...
razmishljao sam i o deljenju engine-a u vishe pod grupa, npr. jedan deo samo za renderovanje, drugi deo brine o muzici, treci deo sadrzi fiziku ali nisam pronashao nachin da sve to bezbolno ujedinim u jednu stvar...
i da, ima li neko ideju gde mogu da pronadjem neke stvari vezane za arhitekturu 3d engine-a?
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 7.10.2008, 21:33   #11
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Cool Re: Direct3D 9 Engine

Pa sad, ima puno tutorijala, svaki će govoriti drugu stvar -_-. Najbolje je da nađeš neki OpenSource engine koji je najsličniji tipu engina koji praviš, proučiš source kod i po ugledu na tu arhitekturu pravš svoj engine. Lično moja preporuka, možda je rad prema nekom uputstvu/tutorialu sigurniji ali ja ću tako da radim za ImaginatoR-a (kad krenem da ga radim )

Pozz
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 7.10.2008, 21:38   #12
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Direct3D 9 Engine

Uzmi ti engine od 30+ fajlova i ne znam koliko linija pa prouchi inache, ni tutorijali nisu efektivni.... totalna glupost, na kraju cesh da shvatish da ti fali milion stvari i opet trazish drugu literaturu..
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 7.10.2008, 21:56   #13
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Lightbulb Re: Direct3D 9 Engine

Ne znam kako stoje stvari sa tutorialima -> nisam ih ni tražio, ali sa engine-om... Pa hm... Probaj da ideš redom Nego, nisam siguran, u kom smislu misliš arhitektura? Ako je to ono što mislim da jeste, a izgleda jeste ono što mislim da jeste, onda to nije nešto mnogo bitno -- ipak je prioritet rad engina, a za arhitekturu možeš napisati tutorijal Znači svodi se na slične stvari - glavnu klasu (nešto kao EngineCore) neku Device klasu (pomoću koje renderuješ), eventualno neki built-in GUI sistem ako hoćeš da implementiraš i neka klasa tipa SceneManager Znači ide EngineCore->Device->SceneManager, GUI (koliko ja znam) i onda ->SceneNode->Mesh->VBA i VBO .... (shvataš poentu ). Ipak mnogo toga zavisi od tipa složenosti. Ako ćeš pisati neki početnički engine namenjen više za učenje, pravi jednostavnu arhitekturu i lako pristupačne i intuitivne metode tima renderAll(), clear(), itd. a ako praviš ozbiljniji možeš dopustiti klase i hijerarhije na većem nivou jer u tom slučaju tvoj engine neće uzimati i koristiti baš svi koji misle da će 3D igru u C++ da naprave samo ako znaju Hello World Možda probaš da izguglaš neki bolji tutorial pa da samo po njemu radiš ali koliko ja vidim to je baš teško Ili kupi neku knjigu, nemam pojma...
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 7.10.2008, 22:16   #14
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Direct3D 9 Engine

Pravio sam ja ranije engine u XNA (planiram i sada isto, samo bolji), ali nije to tako jednostavno imash EngineCore->Device->SceneManager itd...
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 9.10.2008, 13:04   #15
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Thumbs up Re: Direct3D 9 Engine

Pa i nije ima tu puno toga da se radi ja sam samo hteo da ti prikažem example arhitekturu engina, a naravno sve to treba neko da iskodira
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 9.10.2008, 18:28   #16
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Direct3D 9 Engine

Ubedljivo najveci problem su animacije modela, AI, fizika i logika igre...
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 10.10.2008, 17:15   #17
Martin.Tyler
Novi član
 
Član od: 4.10.2008.
Poruke: 10
Zahvalnice: 13
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Direct3D 9 Engine

Citat:
Geomaster kaže: Pregled poruke
Pa sad... Bilo kakvu knjigu za DirectX možeš odmah da pređeš, ali nisi naveo ni u kom programskom jeziku radiš (Java ili... ) a te knjige moraju da se razumeju da bi znao da radiš u DX-u. I ne znam koji te API iz DX-a zanima ili bi hteo sve da koristiš (Direct3D, DirectInput, DirectSound, XAudio, X3DAudio, XInput, XACT) Daj malo preciznije informacije...

I da, Direct3D je do sedmice imao RM (retained mode) koji je dozvoljavao build scene (kao neki scenemanager) ali je radio mnogo sporije nego direktni immediate mode. Mislio sam da se ovde nešto tako implementira, ali da bude mnogo brže.

Aha. Jezik je JAVA, a zanima me Direct3D. Mada bih pored toga morao da gulim i C++. Dobro, imam ja jos dosta da ucim , dok to ne prodjem ne mogu ti pomoci, ti hoces da pravis brzi "nesto sto ja ne znam sta je". Neki drugi put onda
Martin.Tyler je offline   Odgovor sa citatom ove poruke
Stara 11.10.2008, 16:25   #18
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Exclamation Re: Direct3D 9 Engine

Java nije dobar izbor za D3D zato što je spora, čak štaviše ja mislim da za Javu nema nikakvih biblioteka koje importuješ za DirectX (mada možda i postoje). Moja iskrena preporuka je da pustiš Javu (ili je možeš iskoristiti da naučiš osnove), onda na C++ (jer je migracija sa Jave na C++ skoro bezbolna, osim što ćeš imati problema dok se snađeš sa memorijom itd. Ako vidiš da ti je C++ težak, onda nauči C pa se baci na C++. Uvek je tu i opcija Visual Basic-a (.NET) ali je pre verzije .NET totalno išao u kontru ostalim jezicima, samim tim što je bio pravljen za početnike i nema veliku brzinu (što se tiče VB.NET-a - za njega ne znam). Ako ti se Java sviđa, možeš ostati na njoj (na kraju krajeva dobra je jer je portabilna) ali moja preporuka je da se ne zadržavaš puno na njoj ako želiš da koristiš Direct3D.
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 11.10.2008, 19:48   #19
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Direct3D 9 Engine

Krenuo sam sa izradom.. inache engine ce biti namenjen FPS igrama (i jednom projektu sa placeholderima - kockama koji cu da uradim)... Shto se tiche fizike, koristice JigLibX (http://www.codeplex.com/JigLibX), i vecinu stvari odavde - http://creators.xna.com/education/catalog/ .
Senke ce biti problem... Animacije isto poshto necu imati model da eksperimentishem ali postoji isto neki XNA lib za animaciju modela na codeplex-u. O strukturi zasad mogu da kazem samo neke osnovne stvari koje cu uraditi. Poshto sam shvatio da je nemoguce uraditi univerzalan engine, i da je mnogo zamorno u igri podeshavati efekte (npr. shadere itd.) sve ce to engine da radi pomocu statichkih loader klasa i manageovanje fajlova ce biti odradjeno bolje nego shto sam ranije radio. Poshto sam razmishljao o tome da igra mora da ima razlichita stanja (meni -> drugi meni -> igra -> meni za pauzu), odluchio sam da odradim neshto na fazon ovog http://creators.xna.com/en-us/sample...tatemanagement .. Ne uzimam taj kod zbog toga shto mi se ne svidja bash princip rada.
Inache, engine ce imati svoje Screenove i svaki screen ce imati razne komponente koje mogu da se dodaju. U jednom trenutku moze biti aktivan samo jedan screen, i on preuzima ceo input/update/draw. Ukoliko se doda nov screen, prethodni ostaje ali se vishe ne updateuje/renderuje sve dok se ne sklone svi screenovi koji su ubacheni posle njega. Po tom principu, ako imamo game screen i dodje pause screen, on ce preuzeti sve dok ga ne sklonimo.
Kamera - planiram da odradim mogucnosti za cut-scene, jedino shto treba provaliti kako da interpoliram kameru :P Shto se tiche FPS kamere, smislicu neshto.
Grafika - tu dolazi deo koji moram dosta da razmislim... per-pixel osvetljenje ili per-vertex, vishe svetla, performanse.. teshko izbalansirati!
Fizika - kao shto sam rekao, engine je sjajan i mislim da cu moci da ga iskoristim za detekciju kolizije opushteno.
Ne mogu trenutno da se setim josh stvari, tako da pishite neshto xD Inache engine ce se zvati Phenomenon...
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 11.10.2008, 20:20   #20
sasha vukelic
Banned
 
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
Određen forumom Re: Direct3D 9 Engine

Citat:
Geomaster kaže: Pregled poruke
Interesuje me šta forum misli o ovakvoj ideji.
pa meni npr. je uvijek nekako sjedala ideja da se prvo smisli igra, pa se tek onda odlucuje kako ce se najbolje (ili najlakse) realizovati; da li ce biti neki interni engine, da li ce se kupiti engine...
sasha vukelic je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Direct3D problem Marshall George Grafika 2 5.10.2007 14:34
Koji mi engine preporucujete??? PeTkO Pravljenje igara 8 26.7.2007 13:45
2d game engine Damjan Pravljenje igara 48 22.6.2007 11:35
N2D Engine EclipsE Pravljenje igara 4 22.8.2006 23:34


Sva vremena su po Griniču +2 h. Sada je 7:06.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2025, vBulletin Solutions, Inc.
Hosted by Beograd.com