ich hab im Forum nach dem Thema gesucht, aber nichts gefunden:
Wäre es nicht möglich, alles in OpenGL als Konsolenanwendung, also quasi nicht in "Delphi" sondern direkt in Pascal zu schreiben?
Mausabfrage und Tastatur ist mit den Units Windows und Controls allein möglich.
Man würde sich dabei eine Menge Windows-API sparen, was der Performance nur guttun kann.
Die Idle-Abfrage ließe sich durch eine einfache Endlosschleife erledigen. Nur die Initialisation von Devicecontext und Rendercontext bereitet mir Schwierigkeiten.
Hat jemand mit diesem Weg schon Erfahrungen gemacht?
Registriert: Mo Mai 29, 2006 21:13 Beiträge: 142 Wohnort: Ballenstedt/Sachsen-Anhalt
Wo bekommt man die Delphi-Header für GLUT und die Bibliotheken dazu her? Wäre schön, wenn das im Wiki noch jemand ergänzen könnte. Das einzige, was ich gefunden hab war von 1998, das ist wohl doch etwas alt.
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Laßt doch das Glut endlich mal wegsterben. Das ist in der Tat schon sehr alt und wird nahezu überhaupt nicht mehr weiterentwickelt. Es gibt (zumindest unter Linux) das Freeglut-Paket, aber... sofern das Ziel also nicht ist den generierte (!) Exe-Größe zu minimieren, würde ich eher zu SDL greifen. Da muss man zwar wieder eine etwas längere Initalisierung über sich ergehen lassen, hat jedoch etwas, dass zumindest noch weiterentwickelt wird. Einen messbaren Performance-Gewinn wird man von einem Wechsel von VCL zu Glut, WinAPI oder SDL nicht erreichen. Wohl aber sind Glut und SDL plattformunabhängig. Insbesondere unter Linux-Knall ich so via WriteLn Debug-Ausgaben in die Konsole, so dass bei einem Aufruf aus der Konsole die Meldungen erhalte.
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Zitat:
warum etwas weiterentwickeln, wenn es schon ausgereift ist
Nun ich halte es da wie die OpenSource-Entwickler: Eine Anwendung, die fertig ist, nennt man tot.
Nun selbst freeglut hat seid 2003 keinerlei Commits mehr erfahren und es ist zweifelhaft, ob man auch erwarten kann, dass es auf künftige Plattformen portiert ist. Wesentlich hat sich seid 1997 nichts mehr als glut geändert und es wurde von den eigenen Leuten fallen gelassen. Ich stufe es daher ähnlich wie glaux als etwas ein, dass man langfristig wegsterben lassen sollte und lieber gegen etwas zeitgemäßes austauschen sollte (ergo SDL). Ihr als C/C++ler habt ja auch weniger die Header-Probleme, aber als Pascaler kann man da getrost durch die Hölle gehen... wobei ich vor kurzem IMAO mit FPC auch noch eine Glut-Applikations kompiliert habe.
Daher meine Empfehlung (und alles was ich sage ist nur als solche zu verstehen *sg). Wenngleich ich natürlich zugeben muss, dass insbesondere der berühmte Teepot ein schmerzliches Features ist, dass bei SDL leider fehlt
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Eine unterschied zwischen Consolen App im verlgeich mit einer VCL App ist schon sichtbar in der FPS. Gerade wenn man den fehler macht und anfängt mehr als die TForm zu nutzen, denn dann kommt noch die langsamen zeichenroutinen und events von VCL hinzu. Klingt vieleicht ein bischen zu dramatisch ist es aber wirklich nicht ^^.
Du solltest dir mal eventuel Lazarus besorgen oder nur FreePascal. Mit dem Compilerwechsel bekommst du auch noch ein paar FPS gratis dazu. Wobei ein sauberer Code wesentlich besser wäre als sowas zu veranstalten um mehr FPS zu bekommen.
Wenn dann sollte schon SDL verwendet werden und nicht GLUT, denn GLUT ist teufelszeug. GLUT wird schon lange zeit nicht mehr weiter entwickelt und sollte von daher auch nicht mehr verwendet werden. Mir fällt nur noch die Demo Szene als nutzer von GLUT ein, da diese Lib standardmässig bei Windows dabei ist und somit ne menge Fenstercode erspart.
Der größte Vorteil von Console für eine OpenGL Anwendung ist übrigens die Möglichkeit Debuginfos über diese aus zu geben.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Der größte Vorteil von Console für eine OpenGL Anwendung ist übrigens die Möglichkeit Debuginfos über diese aus zu geben.
Eine kleine Anmerkung dazu: Jedes Windowsprogram kann ohne schwierigkeiten auch nach dem start noch eine Konsole nebenbei erzeugen... Danach lässt sich auch prima WriteLn einsetzen - Konsole und VCL widersprechen sich also nichteinmal, wenn man die Konsole für Outputzwecke braucht. Statt die Konsole nachträglich zu erzeugen kann man das aber auch Delphi machen lassen, wenn man die Anwendung als VCL erstellt und im Linker nahcträglich den Haken bei Konsolenanwendung setzt.
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Es geht ja nicht darum eine extra console zu haben, sondern auf einer Consolenanwendung eine Fenst hoch zu ziehen. Hier ist wie auch im DGLSDK vorgeführt SDL sehr nützlich.
Zitat:
Statt die Konsole nachträglich zu erzeugen kann man das aber auch Delphi machen lassen, wenn man die Anwendung als VCL erstellt und im Linker nahcträglich den Haken bei Konsolenanwendung setzt.
{$APPTYPE CONSOLE} am anfang des Code hat auch den gleichen Effekt.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.