Grafik in großen Anwendungen, welche "Technik"?



  • Hallo Leute,

    ich wollte mal gern wissen was für ne genau Art von Grafik das bei Anwendungen ist die verwendet werden. Ein Beispiel wäre AUTOCAD 2004, die Zeichenfläche die man dort zur Verfügung hat, was ist das genau? Ist das bei AutoCad eigentlich nur eine einfache Fläche von einer Form auf der dann GDI+ Objkekte dargestellt werden?

    Ich würde gerne von jemandem wissen der vielleicht Erfahrung damit hat, ob man überhaupt in GDI+ (ich programmiere hauptsächlich in C#) Objekte in 3D darstellen kann. Im Prinzip würde ich gerne ein Programm schreiben das grundlegende Zeichenwerkzeuge hat, wie in Paintbrush, aber ich weiss nicht ob auch mit GDI+ 3D Objekte darstellbar sind.

    thx im voraus.
    🙂



  • Nein, GDI oder so benutzt man nicht direkt und für 3D ist das auch nicht geeignet. Professionelle 3D Werkzeuge arbeiten idr. mit OpenGL



  • im prinzip kannst du mit jeder api die imstande ist pixel zu malen ein 3d objekt darstellen...

    ist nur eine frage des aufwandes und der performance 😉

    um realistisch zu bleiben:
    wenns an 3d geht wirst du um OpenGL oder DirectX nicht herumkommen...



  • Und wie ist es mit 2D und OpenGL, bei DirectX heisst das ja DirectDraw um 2D zu machen. Gibt es sowas auch bei OpenGL oder ist das reines 3D Zeug.

    Danke für die Antworten. :p



  • heute verwendet man im normalfall kein DirectDraw mehr, sondern macht auch 2d in 3d ( also mit OGL oder D3D ), da praktisch jede aktuelle graka 3d in hw unterstützt und einige dinge ( alpha blending, rotationen, etc. ) mit einer 3d api besser und vor allem schneller gehen...

    allerdings gibt es auch fertige libs ( z.b. die SDL ) die einfacher zu bedienen und daher für den einsteiger besser geeignet sind.

    ich persönlich verwende DirectX, kann dir über SDL & Co also nur erzählen was ich gehört hab...



  • Edenus schrieb:

    Und wie ist es mit 2D und OpenGL, bei DirectX heisst das ja DirectDraw um 2D zu machen. Gibt es sowas auch bei OpenGL oder ist das reines 3D Zeug.

    Gibt's nicht in OpenGL.

    Trotzdem kann man mit einer 3D-API auch 2D machen...



  • dot schrieb:

    heute verwendet man im normalfall kein DirectDraw mehr, sondern macht auch 2d in 3d ( also mit OGL oder D3D ), da praktisch jede aktuelle graka 3d in hw unterstützt und einige dinge ( alpha blending, rotationen, etc. ) mit einer 3d api besser und vor allem schneller gehen...

    allerdings gibt es auch fertige libs ( z.b. die SDL ) die einfacher zu bedienen und daher für den einsteiger besser geeignet sind.

    ich persönlich verwende DirectX, kann dir über SDL & Co also nur erzählen was ich gehört hab...

    @dot:

    hast du dich auch mal mit OpenGL geschäftigt. Also ich hab mal DirectX "versucht", das war ja hammer heavy. Soooo viel Code nur um erst mal DirectX fähiges Fenster zu kriegen. Dann auch noch jedem Pointer und Referenzen und so.

    Bei OpenGL musste ich speziell für C# eine Class Datei einfügen und nur paar Zeilen Code einfügen und schon hatte ich ein 3D Objekt das rotierte.

    Was mich irgendwie stört ist, das ich nur in der PAINT Methode zeichnen kann, also auch dort erst meine eigenen Methoden aufrufen kann die bestimmte 3D Objekte zeigen.

    Findest du DirectX besser? Kennst du vielleicht ein gutes Tutorial für Einsteiger?

    Danke dir. 😃



  • Edenus schrieb:

    hast du dich auch mal mit OpenGL geschäftigt. Also ich hab mal DirectX "versucht", das war ja hammer heavy. Bei OpenGL musste ich speziell für C# eine Class Datei einfügen und nur paar Zeilen Code einfügen und schon hatte ich ein 3D Objekt das rotierte.

    Was mich irgendwie stört ist, das ich nur in der PAINT Methode zeichnen kann, also auch dort erst meine eigenen Methoden aufrufen kann die bestimmte 3D Objekte zeigen.

    Die API's sind beide relativ Simple also GL oder DX, das einzige was heavy ist ist die Mathematik dahinter, das dauert etwas, die zu verstehen.
    Die API ist reine Geschmackssache - magst du OOP und Abstrakteren Stuff? > DX
    Lowlevel ist dein Ding? > OpenGL

    Und der PAINT Methoden Kram liegt wohl am GL / C# Wrapper - in C / Cpp ist das Easy.

    Zur eigentlichen Frage:
    Autocad - also die alten Versionen nutzen OpenGL.
    3dMax - OpenGL oder DirectX - DX ist als Plugin verfuegbar.
    Maya - OpenGL



  • @SnorreDev
    wie ich bereits sagte, die meisten professionellen Tools nehmen OpenGL. DirectX ist dagegen bei Spielen populärer.



  • 3ds max hat afaik auch noch eine 3. api ( "heidi" oder so )



  • Edenus schrieb:

    @dot:

    hast du dich auch mal mit OpenGL geschäftigt. Also ich hab mal DirectX "versucht", das war ja hammer heavy. Soooo viel Code nur um erst mal DirectX fähiges Fenster zu kriegen. Dann auch noch jedem Pointer und Referenzen und so.

    Bei OpenGL musste ich speziell für C# eine Class Datei einfügen und nur paar Zeilen Code einfügen und schon hatte ich ein 3D Objekt das rotierte.

    Was mich irgendwie stört ist, das ich nur in der PAINT Methode zeichnen kann, also auch dort erst meine eigenen Methoden aufrufen kann die bestimmte 3D Objekte zeigen.

    Findest du DirectX besser? Kennst du vielleicht ein gutes Tutorial für Einsteiger?

    Danke dir. 😃

    ich verwende DirtectX, OpenGL hab ich noch nicht versucht ( wenn ich mal zeit hab... 😉 ). IMHO ist die API geschmackssache, DirectX bietet neben 3d auch noch sound, input, netzwerk, ... Das hast du unter OpenGL nicht und musst dir dann über zusätzliche API verschaffen.

    wenn du dir allerdings mit pointern schwer tust, dann würd ich die finger von DirectX oder OpenGL lassen und mich erst mal in C++ vertiefen.

    was man so hört, soll für den einsteiger OpenGL leichter zu lernen sein, das kann ich aber nicht beurteilen.

    wenn man mal eine der beiden APIs drauf hat, dann dürfte es nicht so schwer sein mit der anderen klarzukommen, da im prinzip beide das gleiche tun ( ich red von DirectX Graphics )



  • SnorreDev schrieb:

    Edenus schrieb:

    hast du dich auch mal mit OpenGL geschäftigt. Also ich hab mal DirectX "versucht", das war ja hammer heavy. Bei OpenGL musste ich speziell für C# eine Class Datei einfügen und nur paar Zeilen Code einfügen und schon hatte ich ein 3D Objekt das rotierte.

    Was mich irgendwie stört ist, das ich nur in der PAINT Methode zeichnen kann, also auch dort erst meine eigenen Methoden aufrufen kann die bestimmte 3D Objekte zeigen.

    Die API's sind beide relativ Simple also GL oder DX, das einzige was heavy ist ist die Mathematik dahinter, das dauert etwas, die zu verstehen.
    Die API ist reine Geschmackssache - magst du OOP und Abstrakteren Stuff? > DX
    Lowlevel ist dein Ding? > OpenGL

    Und der PAINT Methoden Kram liegt wohl am GL / C# Wrapper - in C / Cpp ist das Easy.

    Zur eigentlichen Frage:
    Autocad - also die alten Versionen nutzen OpenGL.
    3dMax - OpenGL oder DirectX - DX ist als Plugin verfuegbar.
    Maya - OpenGL

    @SnorreDev:
    Kennst du dann vielleicht eine gutes Tutorial, für den Einstieg in DirectX, wenn ich DirectX verstehen würde wäre das natürlich viel besser, hat mich halt bisher immer abgeschreckt. Vorallem die Grundlegenden Sachen wie z.B. die Sache mit HWND und UINT und so, halt die Bedeutungen. Das von Nehe.gamedev.net, ist das gut?

    Danke euch 👍



  • oben in der werbezeile is manchmal ein orange-rotes banner, das nächste mal einfach draufklicken 😃



  • Kennst du dann vielleicht eine gutes Tutorial, für den Einstieg in DirectX, wenn ich DirectX verstehen würde wäre das natürlich viel besser, hat mich halt bisher immer abgeschreckt. Vorallem die Grundlegenden Sachen wie z.B. die Sache mit HWND und UINT und so, halt die Bedeutungen. Das von Nehe.gamedev.net, ist das gut?

    nehe ist OpenGL...

    ich würd das orange banner empfehlen, kommt im oktober aber eine neue, um einiges dickere ausgabe!



  • und sowas wie nehe, aber mit Tutorials für OpenGL und DirectX, vielleicht gut zum Vergleichen, ist www.gametutorials.com


Anmelden zum Antworten