suche abstrahierte 3D-API 4 free



  • Mhhhh... eine echte Abstraktion die beides gut beherrscht muß schon so mächtig sein, daß der Schritt zur "Engine" in meinem Augen nicht mehr weit ist.

    Das ist was anderes als wenn ich 'ne API baue, die für reguläres 2D OpenGL, DirectDraw und SDL unterstüzt. 💡
    Da bräuchte ich ein makeWindow(800, 600, DEFAULT_DEPTH), ein loadTexture("coolerTyp.jpg"), und ein drawTexture(56, 32), viel mehr schon nicht mehr.

    Aber für den 3D-Kram!?
    Du mußt Dir überlegen, FixedFunctions laufen anders, Lichtberechnung sind zwei paar Schuhe, also mußt Du Light() abstrahieren.
    World() mußt Du abstrahieren, da die Koordinatensystem anders sind.
    Du mußt sogar Vector() und Matrix() abstrahieren, weil diese unterschiedlich gehandhabt werden, etc.
    Das ist mit 2D nicht zu vergleichen.

    Von daher...

    OGRE wird immer in höchsten Tönen gelobt. Das ist zwar eine Engine, aber die macht wirklich nur Grafik. Kein Input, kein Sound, kein Netzwerk.

    Sonst fällt mir spontan auch nichts ein...


  • Mod

    User-- schrieb:

    Was ist für dich der Unterschied zwischen einer Engine und einer API? Weil für mich sind das 2Begriffe für die gleiche Sache. Wenn du das genauer definieren könntest, könnte ich dir eher helfen 🙂

    API ist das programmierinterface von einer lib/engine/hardware(treiber) usw. wenn du dir eine engine licensierst und du willst nicht unmengen ausgeben um auch den source zu bekommen, bekommst du nur die engine, so wie sie auch später ausgeliefert wird und zudem noch das API, was nur einfache c funktionen sein können die nach außen gegeben sind, c++ klassen die exportiert wurden, c++ interfaces/abstract-class, kann auch ein tcp/ip schnittstelle sein über die du mittels xml-RPC arbeitest oder du hast nur ne scriptsprache als API oder...

    rapso->greets();



  • naja, am allerliebsten würde ich ja mit Renderware Graphics arbeiten... aber das ist wohl nicht möglich....

    könnte man nicht vielleicht sowas anhand dem abstrakten renderercode einer engine benutzen, z.B. dem von ogre?


  • Mod

    du könntest dir cg und cgfx anschauen, das ist ein schöner layer für den ganzen setups kram. was dann noch fehlt ist das reinschaufeln der daten.

    du könntest ne api abstraktion zwar irgendwo rausrippen, aber die ist oft direkt mit den engines verkeilt und deswegen ohne viel arbeit reinzustecken erstmal unnütz.

    wozu brauchst du eigentlich noch nen wrapper um ogl/d3d ?

    rapso->greets();



  • rapso schrieb:

    wozu brauchst du eigentlich noch nen wrapper um ogl/d3d ?

    rapso->greets();

    wieso "noch einen"? ich kenne keinen, ausser das was ich mir unter Renderware Graphics vorstelle....

    wozu ichs brauche? naja, ich will mich praktisch anhand kleiner projekte/demos in die 3D-programmierung einarbeiten. und da will ich mir nach und nach die grundlagen und die technik aneignen, und nicht nur die eine spezielle API. und erst recht nicht eine engine, die einem die ganzen interessanten grundlagen vorenthält...
    ich denke mal wenn ich die theorie dann draufhabe kann ich eine beliebige API benutzen, und muss mir da mehr oder weniger nur noch die syntax und bedienung anschauen.

    abgesehen davon finde ich beispielsweise bei RW Graphics genial, dass ich die APIs aller systeme nutzen kann, und mich nicht auf GL oder D3D festlegen muss.
    ok, ich denke mal derartige performance usw. wie bei RW kann man von anderen (freien) systemen nicht unbedingt erwarten, aber anyway....

    ach ja, und ich denke mal dieses wissen könnte auch helfen um später einen eigene abstrakten renderer zu coden.....



  • Dann kauf dir halt Renderware.

    Bye, TGGC (Demo or Die)



  • TGGC schrieb:

    Dann kauf dir halt Renderware.

    hehe, is klar.... kannst mich ja unterstützen, vielleicht kriegen wir die paar tausender ja zusammen 😉



  • Ich glaube das was du suchst, ist nicht die Schnittmenge von OpenGL und DirectX sondern nen Software Rasterizer. Nen gutes Buch dazu wäre Tricks of the 3D Game Programming Gurus | ISBN: 0672318350



  • loki1985 schrieb:

    naja, am allerliebsten würde ich ja mit Renderware Graphics arbeiten... aber das ist wohl nicht möglich....

    RenderWare?? Naja, wenn Du Student bist, und noch dazu auf 'ner _coolen_ Uni / FH, die den Spökes mitmachen, würd' ich auf jeden Fall mal nachhören.

    Ich hatte mich damals auf 'ner Developer Messe mit 'nem RenderWare Mensch unterhalten (war lustig: ich mit meinem deutsch-englisch, und er mit französisch-englisch 😃 ), der hat mir halt'n paar Einblicke gegeben wie das so funzt.
    Den hatt' ich auch mal gefragt, ob es möglich ist, für die Uni / FH vergünstigte Lizenzen zu bekommen. Er: Na klar. Ich solle mich mit einem der Profs mal absprechen und ihm dann eMailen...
    Also generell ist das möglich. 💡
    Wenn Deine Uni / FH aber generell aus dem letzten $$$-Loch pfeift, eher nicht... 😉

    Aber Du weißt schon, daß RenderWare ein krasses Prototyping- und All-In-One-Game-bau-System ist, quasi!??
    Also mit API für D3D/OGL hat das nicht viel zu tun... 😮



  • nee, bin leider stinknormaler angestellter, nix mit studium 😞

    vielleicht habe ich das RenderWare dingens wirklich falsch gesehen, wusste nur dass es ne ganz gute performance bietet und u.a. auf GL, D3D, XBox-D3D und PS2-GL-dingens aufsetzen kann.

    naja, ich denke mal ich werde mir jetzt ne kleine test-API zusammenbauen, die mich wenigstens mal polygone zeichnen lässt, sowohl auf D3D als auch auf OGL. ich denke sofern ich mal alles andere wie Lighting und Shader aussen vor lasse sollte das schon mal möglich sein.

    trotzdem danke an alle 🙂



  • Sagt Dir Virtools etwas?
    Sowas ist RenderWare auch.

    Im Prinzip ein Klik'n'Play/Games Factory/Multimedia Fusion in Groß... d.h. in RICHTIG GROSS! 💡

    http://www.csl.com/products.asp
    http://www.virtools.com/solutions/index.asp

    Da hast Du alles unter einem Hut (Grafik, KI, Physik, Sound, ...), eigene World-Editoren mit zig vorgefertigten Dingen, haust schnell ein paar Actors rein, weist ihnen "Behaviours" zu (die Du natürlich alle selbst erstellen kannst, per Skript oder Modul), und dann können Türen schon benutzt werden und NPCs laufen rum. So kannst Du Deinen Spielentwurf in kürzester Zeit schon in was brauch- und testbares umwandeln, um zu schauen, ob das Game überhaupt Spaß machen würde, Aufwand abzuschätzen, etc. (== Prototyping).
    Dann kannst Du natürlich auch das Game selber richtig zusammenschustern, mit dutzenden Ex- und Import-Möglichkeiten, etc.

    Die GTA-Serie wurde damit gemacht.

    Achja: Meine Anfrage bei Criterion bzgl. Lizenzen war BEVOR sie von EA aufgekauft wurden... 🙄


Anmelden zum Antworten