models in opengl einbinden



  • hallo.
    Ich bin neu in der OpenGL programmierung.
    Ich benutze zum modelln blender3d.
    Wie bekomme ich jetzt ein so erstelltes modell in meine anwendung?
    und wie kann ich sie dann bewegen? (dass eine figur z.B. läuft)
    Ich hab auch die suche schon benutzt aber nichts wirklich gutes gefunden, auch in google nicht.

    danke schonmal für eure hilfe (hoffentlich ;))



  • Einlesen hängt immer stark vom Dateityp und das Anzeigen danach ist dann eigentlich trivial, weil du einfach eine Dreiecksliste hast. Animieren ist dann wieder etwas schwieriger, hier muss je nach Typ dann noch merh oder minder viel gerechnet werden.

    Bye, TGGC



  • TGGC schrieb:

    Einlesen hängt immer stark vom Dateityp

    deshalb hab ich mein modelling programm mit angegeben, weil ich dachte ich bekomme vielleicht einen Tip welches Format ich nehmen soll und wie ich das am besten bewerkstellige.

    TGGC schrieb:

    hier muss je nach Typ dann noch merh oder minder viel gerechnet werden.

    d.h? woher weiß denn mein programm anhand der dreieckskoordinaten wo z.B. die arme u. Beine sind. sone liste dürfte ja ziemlich groß sein 😉
    oder macht man dann für jedes Körperteil, das sich bewegen soll ein eigenes model, das man dann rotaten bzw. verschieben kann bevors ausgegeben wird?

    mfg



  • naja, bin wirklich kein profi in dem gebiet, aber ich denke das ist so:

    dein dateiformat enthält eine liste mit dreiecken, mit positionsangaben.

    bei älteren spielen z.B. war es so, dass man einfach nur ein modell hatte, und jede bewegung des modells einzeln war.

    dann später hat man ein modell gehabt, und hat jedes körperteil seperat bewegt.

    heutzutage gibts so sachen wie skeletal animation, wo im endeffekt die figur anhand eines "skelettes" gemorpht wird.

    dein programm weiss normalerweise nicht was welches körperteil ist, aber du kannst es ihm anhand der datei mitteilen, wenn das dateiformat solche "tags" zulässt.



  • skeletal animation. Hat jemand irgendwelche empfehlenswerte Tutorials dafür?



  • Also der Frage nach zu urteilen, hast du noch nicht all zuviel Erfahrung damit - Skeletal Animation ist ein ganz schöner Brocken.

    Wenn du eine animierte Figur leicht importieren willst, schau dir mal das MD2 Format an.
    Ansonsten für statische, komplexere Figuren musst du dich eben in das SDK deines 3D Programms einlesen und schauen, an welche Daten du so rankommst zum Exportieren.



  • Fuer statische Modelle, die selbst nicht animiert sind (Raumschiffe, Autos) eignet sich das Alias|Wavefront OBJ Format ganz gut.
    Es laesst sich sehr einfach einlesen bzw. konvertieren. Blender erlaubt es 3D-Daten in das *.obj-Format zu exportieren.
    Schau das Endergebniss einfach mit einem Texteditor an. Dann kommst Du schon drauf, wie man es einliest.



  • HI

    Ich nutzte das milkshape format, dafuer gibst nen Loader bei Nehe und auch tutorials, auch zur skelett animation (articel).
    Eventuell kannst du mit blender erstellen und dann das dateiformat konvertieren, kommt darauf an was das Format alles unterstuetzten soll.

    Aber sollte sich irgendwo ein blender loader finden, waere ich auch interessiert. Als ich damals danch suchte, hab ich nicht mal ne brauchbare Dateifromat beschreibung gefunden um mir einen Loader zu basteln.

    Nutze im moment milkshape mit selbstgebauter Loader Class und ein eigenes Textbasiertes format.

    Mfg
    Flow



  • danke schonmal für eure ganzen Antworten.
    ich werde mich gleich morgen mal austoben 😉
    ich denke ich werde euch dann noch genug belästigen :p

    so long



  • inspiriert von diesem topic hier habe ich mal angefangen, einen modelviewer in OpenGL zu coden. als format habe ich einfach eine datei genommen und immer 3*3 floats für ein trigon oder triangle oder wie man das nennt binär gespeichert.
    die dann alle skaliert gerendert.

    ist supereinfach, habe vorher noch nie groß was mit openGL gemacht (und ahnung von 3d-programmierung habe ich auch nicht wirklich), und funktioniert super. also wenn ihr sehr einfach statische modelle rendern wollt ist das gut. habe dafür noch einen converter gebaut, der den RAW(Text)-export von Milkshape in binäre floats konvertiert.

    naja, als nächstes mache ich mich mal dran, das ganze zu texturieren. dazu wird das format wahrscheinlich erweitert werden müssen...
    *work ahead* *schauder*



  • naja, als nächstes mache ich mich mal dran, das ganze zu texturieren. dazu wird das format wahrscheinlich erweitert werden müssen...

    Naja, soviel zusätzliche Arbeit ist es auch nicht.

    Ich speichere meine Vertices als 8 dim. Arrays ab (raumkoordinaten,normale,texturkoords) {x,y,z,nx,ny,nz,u,v}. Dazu ne Indexliste, damit jeder Vertex auch nur ein mal gespeichert werden muss.



  • loki1985 schrieb:

    trigon oder triangle oder wie man das nennt

    Geht beides.

    Bye, TGGC


Anmelden zum Antworten