![]() |
![]() |
|
![]() |
![]() |
|
Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Home Cockpit - Das Forum für die "Bastler" Cockpitbauer tauschen Pläne, Erfahrungen, Meinungen über den Bau von Homecockpits aus... |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Master
![]() |
![]() Hi, in meinen letzren versuchen PFD und ND in Delphi zu Programieren habe ich immer die TCanvas verwendet, es hat grundsätzlich auch geklapt, aber es war einfach wahnsinnig langsam.
Dann gab mir jmd den Tip, ich solle es mit OpenGL probieren, klang auch gut, allerdings: WIE GEHT DAS? Ich bin kein Programierer, desshalb kommt auch nur Delphi in Frage, denn da kann ich mich so halbwegs durchhangeln. Mein problem ist, wie benutze ich OpenGL? also mit welchem Befehl sage ich Delphi: "Mal mir in das Fenster da einen schwarzen Halbkreis!"? Kennt ihr da gute links oder hat jmd eine sammlung an befehlen und Programierbeispielen? Gruss Phil |
![]() |
![]() |
![]() |
#2 |
Elite
![]() Registriert seit: 18.01.2000
Alter: 51
Beiträge: 1.264
|
![]() Hallo Phil,
> aber es war einfach wahnsinnig langsam. ... genau das habe ich erwartet, wie ich die Überschrift deines Beitrages gelesen habe. TCanvas ist eine Standard-Windows-Komponente und es ist bekannt, daß diese recht langsam sind. > Mein problem ist, wie benutze ich > OpenGL? also mit welchem Befehl sage > ich Delphi: "Mal mir in das Fenster da > einen schwarzen Halbkreis!"? Vielleicht eine Vorausbemerkung, die ich in ähnlicher Form bereits in einem Beitrag vor ein paar Tagen im gleichen Forum zum Thema " Was hälts Du von einem OpenSource-Glascockpit-Projekt?" gemacht habe. Ich habe mir ein voll funktionsfähiges PFD und ND für die 747-400 mit einer Schnittstelle zum PS1.3 (aber nicht FS2004!). Das ganze ist in Delphi und OpenGL programmiert... Du mußt im Prinzip zwei Probleme lösen. Das erste Problem sind sog. Headers für OpenGL, also Units, die die OpenGL-Bibliotheken laden und dir die OpenGL-Variablen, -Konstanten und -Funktionen zur Verfügung stellen sowie ein Fenster erstellen, in welchem du mit OpenGL zeichnen kannst. Das Problem ist auf http://www.delphi3d.net bereits gelöst. Diese Seite stellt alles zur Verfügung, was du brauchst, wenn du mit Delphi OpenGL-Grafiken erstellen willst. Unter -> Downloads -> Libraries findest du alles wichtig. Ich selbst habe noch mit cgLib gearbeitet, inzwischen gibt es DOT, was ich noch nicht kenne. Das klappt sicher auch. Das andere Problem ist dein OpenGL-Programm. Du mußt dir ein paar Grundkenntnisse über OpenGL aneignen. Im wesentlichen mußt du den Kamerastandpunkt, das Koordinatensystem usw festlegen und dann deine Displays zeichnen. Die Anfänge lernst du ziemlich schnell aus den Beispielen von Delphi3d.net oder auch aus dem Kurs bei NeHe: http://nehe.gamedev.net/ Der Rest ist Übung und kommt von alleine und irgendwann bist du dann auch hier: http://www.wcm.at/forum/attachment.p...postid=1524944 Viel Erfolg, Markus
____________________________________
WinPS1 - Aerowinx PS1.3 als echte Windows-Applikation |
![]() |
![]() |
![]() |
#3 |
Gast
Beiträge: n/a
|
![]() OpenGL geht nur bei PS1.3 !!!!!!!!!!!!!!!
Das kannst du bei FS2004 vergessen !!! rico |
![]() |
![]() |
#4 |
Veteran
![]() Registriert seit: 14.12.2002
Beiträge: 288
|
![]() was hat denn ein eigenständiges Programm was mit oGL arbeitet mit dem FS zu tun?
|
![]() |
![]() |
![]() |
#5 |
Elite
![]() Registriert seit: 18.01.2000
Alter: 51
Beiträge: 1.264
|
![]() Nichts.
Aber es heißt doch "Don't feed the trolls".
____________________________________
WinPS1 - Aerowinx PS1.3 als echte Windows-Applikation |
![]() |
![]() |
![]() |
#6 |
Senior Member
![]() Registriert seit: 04.04.2001
Beiträge: 112
|
![]()
____________________________________
Do you know the A320 Flightdeck Project? Visit www.a320flightdeck.com |
![]() |
![]() |
![]() |
#7 |
Master
![]() |
![]() Ok, danke erstmal für die Links.
Mal ne andere Frage: Open GL ist ja voll für 3D ausgelegt, ist es da nicht mit Kanonen auf Spatzen geschossen wenn ich nur 2D-Anzeigen basteln will? Gibt es noch andere Alternativen (zb ne Art schnellere TCanvas) oder eine 2D-Version von OpenGL? Ansonsten werd ich mich da schonmal reinarbeiten und dann mal schaun was bei rauskommt. Gibt es eingentlich eine neuere Tabelle mit FSUIPC-Offsets für den FS9? (mit dem ganzen wetter-radar-kruscht usw) Gruss Phil |
![]() |
![]() |
![]() |
#8 |
Elite
![]() Registriert seit: 18.01.2000
Alter: 51
Beiträge: 1.264
|
![]() Hallo Phil,
> Open GL ist ja voll für 3D ausgelegt, > ist es da nicht mit Kanonen auf Spatzen > geschossen wenn ich nur 2D-Anzeigen > basteln will? Nein. --- Betrachte es andersherum. Eine 3d-Engine kann nur dann sinnvoll funktionieren, wenn sie effizient und schnell ist. Dann aber ist geradezu ideal für deine einfache Anwendung einer rein zweidimensionalen Zeichnung. > Gibt es noch andere Alternativen > (zb ne Art schnellere TCanvas) oder > eine 2D-Version von OpenGL? Es gibt Alternativen, aber für Delphi meiner Meinung nach keine guten. Es gibt schnellere Möglichkeiten, in ein Standard-Windows-Fenster zu zeichnen. Alle Methoden, die ich kenne, sind aber Pixelbasiert. Die sind zwar nicht schlecht, aber für ein PFD und ND schlichtweg ungeeignet. Du wirst sehr schnell daraufkommen, daß der große Vorteil von OpenGL ist, daß es ein vektorbasierte Darstellung ist. Andere Alternativen wären die Methoden, die Microsoft von Haus aus anbietet, insbesondere GTK+ oder DirectX 8 / 9. Der Haken ist aber meiner Meinung nach der: zumindest DirectX ist von Haus aus eine Schnittstelle, die über C++ (oder so ähnlich) angesprochen wird. OpenGL ist im Gegensatz zu OpenGL vollkommen plattform- und hardwareunabhängig (wenn ich Extensions mal vernachlässige) - ein Standard. Ich bin der Meinung, daß das Interface, also die Programmierschnittstelle von OpenGL sehr angenehm, logisch und sinnvoll aufgebaut ist. Von DirectX konnte ich das damals, als ich mir das genauer betrachtet habe, nicht behaupten. Gerade mit Delphi ist OpenGL auch sehr einfach zu programmieren, da die Schnittstelle anders als bei DirectX gelöst ist. Insofern halte ich OpenGL für dein Projekt für ideal geeignet. Viele Grüße, Markus
____________________________________
WinPS1 - Aerowinx PS1.3 als echte Windows-Applikation |
![]() |
![]() |
![]() |
#9 |
Master
![]() Registriert seit: 14.02.2002
Alter: 66
Beiträge: 644
|
![]() Hallo,
TCanvas ist meist deshalb so langsam, weil der gesamte Bereich neu gepinselt wird. Man kriegt das aber mit ein paar Tricks schnell und flüssig hin. Ich habe damit mal ein paar Gauges gemacht (mit C++ und GDI). Nachteil: Kantenglättung für Fonts und Linien könnte das Erscheinungsbild erheblich verschönern, kann GDI aber leider nicht. Performance war kein Problem. OpenGL enthält etliche Funktionen, die mit dem reinen TCanvas sehr aufwändig sind. Die braucht man in der Regel aber nur, wenn Beleuchtung und 3D Moves benötigt werden. |
![]() |
![]() |
![]() |
#10 |
Veteran
![]() Registriert seit: 27.01.2003
Beiträge: 234
|
![]() Hallo
diesen Link http://www.antigrain.com/ wollte ich vor ein paar Tagen schon im "Glass Cockpit selberschreiben" Thread posten, hab ihn aber jetzt erst gefunden... Anti-Grain koennte evtl was sein. Es ist eine 2D Rendering engine fuer C++. Hat auch Antialiasing, Transparenz und andere interessante Dinge. Ist OpenSource und fuer mehrere Platformen verfuegbar. Evtl werde ich X11GC mal darauf portieren... bis ich aber dazu komme ... dass kann noch ne Weile dauern. Wenn also jemand damit rumspielt... einfach mal berichten. Manuel
____________________________________
http://wiki.varxec.net The Simbuilder\'s Wiki FlightGear, the free open-source, multi-platform Flight Simulator under GPL (http://www.flightgear.org) |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|