Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 12:27

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: OpenGL als Konsolenanwendung?
BeitragVerfasst: Sa Aug 12, 2006 14:24 
Offline
DGL Member

Registriert: So Mai 07, 2006 10:44
Beiträge: 4
Hallöchen,

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?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 12, 2006 14:37 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
In der Filesektion findest du noch API-Code. Das ist genau das, was du willst.
An Performancesteigerung glaube ich nicht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 12, 2006 15:35 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
Performancesteigerung eher weniger, aber die Kompilate werden kleiner, wenn nicht die ganze VCL noch drinhängt.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 12, 2006 21:25 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo Turion,

wenn du ohne Windows-Forms arbeiten willst nimmst du am besten GLUT, da hast du auch schon Tastatur- und Maushandler mit drin.

Ich hab hier mal ein Beispiel vorbereitet.

Wie man sieht ist der Quellcode mit GLUT um einiges übersichtlicher, im Vergleich zur Windows-API :wink:

Viele Grüße
dj3hut1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 13, 2006 00:36 
Offline
DGL Member
Benutzeravatar

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.

_________________
Gott sei Dank bin ich Atheist!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 13, 2006 08:07 
Offline
Fels i.d. Brandung
Benutzeravatar

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..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 13, 2006 08:55 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo Phobeus,

warum etwas weiterentwickeln, wenn es schon ausgereift ist ;)

Nee mal im Ernst, für kleinere Applikationen ist glut bzw. freeglut doch völlig ausreichend.
Wäre wirklich schade wenn es 'wegsterben' würde :roll:


Viele Grüße
dj3hut1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 13, 2006 09:11 
Offline
Fels i.d. Brandung
Benutzeravatar

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..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 13, 2006 12:09 
Offline
DGL Member
Benutzeravatar

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

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 13, 2006 12:23 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
TAK2004 hat geschrieben:
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 13, 2006 13:06 
Offline
DGL Member
Benutzeravatar

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

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]