welche Basis für Projekt
-
Hallo zusammen,
ich frage mich momentan welche Basis ich am besten für mein Projekt nehmen sollte. Und zwar brauche ich eine GUI welche aber auch ein 3D-Window hat in dem ich ein würfelartiges Objekt darstelle. Ansich sollte dieser ziemlich statisch sein, ich möchte nur die Perspektive drehen können und die Farben einzelner Elemente ändern können. Wichtig ist auch dass ich zwischen der 2D GUI und 3D objekt interagieren kann. Leider habe ich gar keine Ahnung wie ich die Sache am besten angehe sprich ob ich OpenGL nutzen soll und wenn ja wo ich da am besten ansetze etc. pp.
Wäre wirklich nett wenn mir da etwas unter die Arme gegriffen werden könnte und ich zumindestens an einem Punkt komme wo ich dann eigenständig researchen kann..
Mit freundlichen Grüßen,
snprr
-
Als einfache GUI-Bibliothekempfehle ich fltk-1.3. Kann auch OpenGl.
-
Welches Betriebssystem? Muss es C++ sein?
-
Muss ausschließlich auf Windows laufen da ich der einzige sein werde der es verwendet. Es muss nicht C++ sein aber C++ behersche ich sehr gut und würde daher gerne bei C++ bleiben. Alle anderen Sprachen die mir ein halbwegs akzeptables Handling der COM-Ports bieten und nicht ganz so syntaxfern sind würde ich auch mit leben können.
Gruß
snprr
-
Für GUI das rein nur unter Windows laufen soll, würde ich zu C# raten. WPF bietet simple 3D Funktionalität sogar schon fix und fertig, möglicherweise für deine Zwecke schon ausreichend.
-
Okay danke. Werde ich mir dann auf jeden fall mal anschauen.
Wäre denn QT + OpenGL zu empfehlen oder ist das overkill?
-
snprr schrieb:
Wäre denn QT + OpenGL zu empfehlen oder ist das overkill?
QT ist auf jeden Fall nicht schlecht. Da du C++ kannst, guck es dir auf jeden Fall mal an. Für den 3D Teil könntest du QtQuick3D verwenden, aber da du ja anscheinend recht simple 3D-Szenen hast, reicht auch das "normale" OpenGL von Qt.
-
Schau z.B. auch mal hier: http://www.codeproject.com/Articles/23332/WPF-3D-Primer
Qt und OpenGL ist in C++ sicherlich eine gute Kombination. Ich denk allerdings, dass WPF die bessere Wahl für modernes GUI unter Windows ist. OpenGL bzw. Direct3D werden interessant wenn du performanceintensive Anwendungen hast. Die kann man dann aber auch von C# aus benutzen, falls das wirklich notwendig sein sollte. Am Ende hängt es natürlich vor allem davon ab, was genau du machen willst...
-
Erstmal vielen Dank an alle.
dot schrieb:
Schau z.B. auch mal hier: http://www.codeproject.com/Articles/23332/WPF-3D-Primer
Qt und OpenGL ist in C++ sicherlich eine gute Kombination. Ich denk allerdings, dass WPF die bessere Wahl für modernes GUI unter Windows ist. OpenGL bzw. Direct3D werden interessant wenn du performanceintensive Anwendungen hast. Die kann man dann aber auch von C# aus benutzen, falls das wirklich notwendig sein sollte. Am Ende hängt es natürlich vor allem davon ab, was genau du machen willst...
Also ich habe quasi eine Gitterstruktur welche an den Knotenpunkten Elemente sitzen hat. Am besten wäre es wenn ich diese Elemente über ein 3D-Modeling-Programm erstellen kann(e.g. Blender). Diese Gitterstruktur soll absolut statisch sein und ich brauche nur Rotation und Translation. Das einzig dynamische am Gitter selber soll sein dass ich die einzelne Elemente anklicken kann und deren Farbe ändern kann.
Vielleicht hilft diese ausführlichere Beschreibung etwas mehr das richtige zufinden. So wie ich das verstehe sind im moment QT+OpenGL im Rennen und WPF wobei wohl WPF weniger Aufwand bedeuten würde da es eh eine simple Anwendung ist?
MfG
snprr
-
QT mit C++ ist garantiert weniger Aufwand, als eine neue Sprache zu erlernen, es klingt unsinnig wegen einer kleinen Anwendung soviel Aufwand zu betreiben, wenn QT und C++ schon alles kann. Zumal du nicht nur die paar Schablonen Funktionen in C# schreibst, sondern dann auch den ganzen rest, das kann nicht effektiver sein als mit einer Sprache die du schon gut kannst.
Ich benutze den QT-Designer seit Jahren und hatte vorher .Net benutzt, ersteres steht zweiterem in nichts nach. Ich bin umgestiegen, weil es bei C++ mehr Bibliotheken gibt und die Anwendungen bei C# nach kurzer zeit schon sehr viel Speicher allozierten (mehr als 100MB), obwohl es ganz einfache Property Editoren waren die sich per TCP an Server verbunden hatten, und die "aufwendigen" server waren sparsammer als die C# UI App.
Schau dir z.B. http://www.youtube.com/watch?v=LYF0spYkXUs an.
-
Was der Threadersteller beschreibt ließe sich vermutlich sogar ganz ohne eine einzige Zeile C# Code rein über Data Binding in XAML umsetzen. Abgesehen davon kann man mit C# meiner Erfahrung nach praktisch sofort loslegen, wenn man von C++ kommt. In Qt muss man sich außerdem auch erst einarbeiten. Kannst du mit Qt einfach so 3D Modelle laden und anzeigen etc.?
-
Dein Fragen ist befremtlich, du weisst nicht, ob es mit C++ und QT leicht geht, er soll aber auf jeden Fall WPF und C# nehmen?
Ja, du kannst sehr einfach Szenen aus Blender3D laden, z.B. http://qt-project.org/wiki/Loading-a-3D-Model
Ja, die OpenGL integration ist auch sehr einfach: http://www.youtube.com/watch?v=1nzHSkY4K18
Ja, man kann das Problem sehr einfach lösen, da hast du recht.
Ja, das geht in jeder modernen Sprache wenn man sich auskennt, z.B. auch in Java.
Nein, niemand der C++, C#, VB, Java kann muss die Sprache wechseln um sowas einfaches zu erstellen.Es klingt nicht, als ob du ihm wirklich helfen willst.
-
oh, ein neues gesicht
ganz ruhig, dot macht fast immer die "du musst c#/direct3d/wpf/net benutzten damit dein hello world funzt", anfaenger sind halt leichtglaeubig
-
Danke für die Beispiele und Links Mathew. Da Ich in der Uni schon mit QT zutun hatte und ich generell QT doch sehr mag werde ich mal versuchen mit QT etwas auf die Beine zu stellen. Natürlich ist zwischen c++ jedoch muss man bedenken, dass ich mich mit dem 3D (auch wenn es nicht viel ist) auf neuem Terrain bewege und da hätte ich lieber die Gewissheit dass das Wissen der Sprache da ist.
-
dot schrieb:
Abgesehen davon kann man mit C# meiner Erfahrung nach praktisch sofort loslegen, wenn man von C++ kommt.
So ein Quatsch.
Insbesondere WPF lernt man nicht einfach mal übers Wochenende da es sich sehr von anderen GUI-Frameworks unterscheidet. Dazu der Aufwand die Besonderheiten von C# zu verstehen und einen Überblick über .NET zu gewinnen. Da ist der OP mit seinem Vorwissen in C++ doch 100 mal am Ziel bevor er überhaupt mit C#/Net/WPF eine sinnvolle Zeile geschrieben hat.