Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: OpenGL ja törmäystarkistus

Sivun loppuun

KoodiNoppa [18.06.2007 23:22:59]

#

Eli onko OpenGL:ssä valmista törmäystarkistusta? Ellei, osaatteko mainita hyvää ja helppokäyttöistä kirjastoa siihen?
Olen juuri tutustumassa OpenGL:ään, joten saatan pian tarvita lisää apua...

P.S. tuli tässä toinenkin kysymys mieleen. Saako SDL:n näppäimistö-, hiiri- ja äänijärjestelmät toimimaan tuosta vaan laittamalla SDL:n normaalisti includeen ja linkkeriin?

Metabolix [18.06.2007 23:53:41]

#

1. OpenGL on grafiikkakirjasto, siinä ei ole törmäystarkistusta tai muuta vastaavaa toimintaa. Jotain kikkailua silläkin on mahdollista tehdä, mutta kyllä on miljoona kertaa helpompaa ja käyttökelpoisempaa tehdä vaikka oma tarkistus. Kirjastoja voipi myös Googlella etsiä.

2. SDL toimii kyllä, mutta tietenkin ruudun alustuksessa on oma pieni kikkansa, SDL_OPENGL-lippu. Tarkempaa tietoa voit etsiskellä oppaastani SDL:n ja OpenGL:n yhteiskäyttö, osa 1.

Touho [19.06.2007 00:27:23]

#

Suosittelen glfw kirjastoa. http://glfw.sourceforge.net/
Sillä saa todella helposti tehtyä näppäin- ja hiiritarkistukset. ikkunan luominen onnistuu muutamalla koodirivillä. sillä pystyy myös lataamaan .tga tekstuureja.

KoodiNoppa [19.06.2007 22:32:42]

#

Luulin, että OpenGL on täysi 3d-kirjasto missä on kaikki fysiikan jutut sun muut valmiina... Nyt hävettää. Mutta nyt kuitenkin tiedän miten asian laita on todellisuudessa.

Onko kellään kokemusta Bullet- tai Tokamak-kirjastoista? Kumpi on helppokäyttöisempi / vähemmän tehoa vaativa? Entä Newton Game Dynamics? Projektin nettisivulla sitä sanotaan pieneksi, vakaaksi, tehokkaaksi ja helpoksi, onko totta?

P.S. Eihän tuota SDL_OPENGL-lippua tarvitse, jos ei käytä SDL:n piirto-ominaisuuksia?

panttu [19.06.2007 22:53:22]

#

Object Dynamic Enginellä ainakin onnistuu törmäystarkastuksen ja siirtymä/voima/energia laskelmat.
http://www.ode.org/

Zach [20.06.2007 19:09:35]

#

KoodiNoppa kirjoitti:

P.S. Eihän tuota SDL_OPENGL-lippua tarvitse, jos ei käytä SDL:n piirto-ominaisuuksia?

Ko. lipun tarvitsee, jos yleensäkin luo ikkunan SDL:n avulla ja haluaa renderöidä siihen OpenGL:n avulla (+käyttää hiiri-, ääni- ym. järjestelmiä SDL:stä).

Ainakin joskus SDL:llä OpenGL:n näkymän päälle blittaamisen on mahdollistanut SDL_OPENGL_BLIT tms. lippu. Se oli kuitenkin ilmeisesti vain jonkin sortin kyhäelmä, eikä sen käyttöä ainakaan suositella.

Jos haluaa peli/3d-moottorin, jossa on enemmän ja monipuolisemmin asioita sisällytettynä, eikä jaksa säätää yksittäisiä elementtejä, voi olla hyvä kokeilla esim. Ogre3d:tä tai Crystal Space:a.

KoodiNoppa [20.06.2007 23:49:28]

#

Tuolla Crystal Spacen sivuilla kerrottiin CEL-nimisestä, peleihin suunnitellusta Crystal Space-versiosta... Kokeilen sitä. Toivottavasti saan toimimaan kun en ole kovin hyvä kirjastoja asentamaan :/

EDIT: Sieltä ei ilmeisesti saa kuin koodit... Paketit tulee myöhemmin... Täytyy odotella :/

Lahha [21.06.2007 00:59:31]

#

Yksi hyvä on Irrlicht. http://irrlicht.sourceforge.net/

KoodiNoppa [21.06.2007 01:17:39]

#

Hyvältä se vaikuttaakin, ja dev-c++:n kansioissa se on lojunut jo kauan kun en osaa asentaa sitä...Sieltä pitäis löytää kolme tiedostoa en-muista-minne, mutta vain yhden löysin. Ymmärsin ohjeet varmaan väärin... Tänään aikaisemmin yritin saada sitä toimimaan ja pian turhauduin. Ehkä pitäis kieltä vaihtaa välillä vähän helpompaan.

Heikki [21.06.2007 11:45:40]

#

On myös hyvä tietää ainakin suunnilleen, miten törmäystarkistus toteutetaan ilman apukirjastoja. Katso esimerkiksi koodivinkki Törmäystarkistus 3D-avaruudessa: Jana ja kolmio.

KoodiNoppa [21.06.2007 16:13:07]

#

Eilen katselinkin SAT-nimistä törmäystarkistusta netistä, mutta en ihan ymmärtänyt mitä apua siitä on. Kuulemma kaksi kappaletta EI törmää, jos niiden välille voi asettaa pinnan, mutta sen jälkeen pitäisi tarkistaa, osuuko pinta jompaan kumpaan kappaleeseen...

Janan ja kolmion törmäys on tähän mennessä ainoa tekniikka, josta olen saanut selvää.

Mazzimo [21.06.2007 19:35:44]

#

Jos on kärsivällisyyttä, niin kannattaa hieman tutustua Irrlichtiin. Tämän jälkeen tutustu OGRE:en. OGRE on erittäin hyvä (jollei paras) ilmainen 3d-engine, josta todellakaan ei ominasuuksia puutu ja tehoa piisaa (aloitusaste miinusta). Ogreen on tehty myös hyvin paljon erilaisia wrappereita esim. fysiikkakirjastoille (mm. AGEIA PhysX <3) tai äänikirjastoille (OpenAL). Itse väkerrän OGRE:lla ja olen enemmän kuin tyytyväinen... :)

Markus [22.06.2007 10:06:04]

#

KoodiNoppa kirjoitti:

Eilen katselinkin SAT-nimistä törmäystarkistusta netistä, mutta en ihan ymmärtänyt mitä apua siitä on. Kuulemma kaksi kappaletta EI törmää, jos niiden välille voi asettaa pinnan, mutta sen jälkeen pitäisi tarkistaa, osuuko pinta jompaan kumpaan kappaleeseen...

Janan ja kolmion törmäys on tähän mennessä ainoa tekniikka, josta olen saanut selvää.

Lue: http://www.suomipelit.com/index.php?c­=naytaartikkeli&id=67&s=4

KoodiNoppa [23.06.2007 23:08:22]

#

Tollasenkin ratkaisun löysin netistä, mutta sekaisin menin kun sitä luin... Wikipedian artikelista sain enemmän selvää, ja viestini pohjautuikin siihen.
http://en.wikipedia.org/wiki/Separating_axis_theorem
Tuossa yleisemmin käytetyssä (se Suomipelien artikkelissa oleva) tekniikassa en tajua, miten saa sen kuvan oikeasta kulmasta. Täytyy lukea lisää myöhemmin...


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta