Modelle in openGL laden

  • Hey @ all,

    ich habe mich inzwischen mit dem openGL Plugin für AutoIt beschäftigt und wollte nun mal fragen, ob man Modelle aus Blender oder Wings3D (kp mit welcher Dateiendung) in OpenGL einbinden kann, und wenn, dann wie?

    mfG
    Developer30

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

    Einmal editiert, zuletzt von Developer30 (11. September 2010 um 12:33)

  • ich habe nun gelesen, dass man, wenn man Modelle importieren will, eine Art Interpreter des Formates braucht. Wenn ich mir beispielsweise eine *.x-Datei ansehe, stelle ich fest, dass da so eine Art Messdaten gespeichert werden. Gibt es schon Interpreter unter AutoIt? Sonst sollte man sowas vielleicht mal entwickeln...

    Hier noch ein Ausschnitt einer exportierten *.x-Datei:

    Spoiler anzeigen

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Du musst einen eigenen Interpreter schreiben, der die Daten ausliest, und die Polygone entsprechend in den "Raum" malt. Wenn du einen eigenen Interpreter schreiben willst, würde ich empfehlen einfach mal ein nicht animiertes model als .obj zu speichern, und den Interpreter für den Anfang für dieses Format zu schreiben, da es sehr simpel aufgebaut ist.
    Ich habe auch einen für dieses Format geschrieben, allerdings in C++, aber ich wollte ihn vereinfachen, und jetzt tut er nicht mehr. :S

    Hier steht, wie simpel das Format aufgebaut ist http://en.wikipedia.org/wiki/Obj

  • Also ich hab ewig im Internet nach einem .obj Interpreter in C++ gesucht, und hab nix gescheites gefunden ?(
    (außerdem wollte ich einen eigenen schreiben :D)

  • hattest du in c++ einen interpreter für openGL geschrieben?
    also ich kenn mich mit openGL noch nicht so gut aus und weiß daher nicht, wie ich vertex verarbeiten soll... ?(

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • hattest du in c++ einen interpreter für openGL geschrieben?

    ja.
    Schau mal, so sieht bspw. ein einfacher Würfel in .obj aus:

    Hinter den 'v' stehen die Koordinaten in der reihenfolge x,y,z.

    Hinter den 'f' steht, wie die flächen aufgebaut sind. Also: die eins heißt, das der erste Punkt der Fläche die Koordinaten hat, die hinter dem 1. 'v' stehen, die zwei, das der Punkt die Koordinaten hat, die hinter dem zweiten 'v' stehen, also 1.000000 -1.000000 1.000000

    Und ein Vertex ist eben ein Punkt im Raum sozusagen.