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

Aktuelle Zeit: Do Jul 17, 2025 18:31

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 26, 2003 16:48 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 26, 2003 10:35
Beiträge: 16
Hallo

ich kriege es partout nicht hin ein Fenster zu generieren, auf dem ich dann mit den normalen OpenGl Befehlen Objekte erstellen und drehen etc kann.

Was muss ich machen um unter Delphi 3 nach dem Einbinden der OpenGl.pas auf der Form Objekte zu erstellen und anzeigen zu lassen? Noch genauer: mir ist nich klar, wie ich ein Fenster erzeuge in dem ich dann mit den OpenGl Methoden arbeiten kann...

Bitte helft mir mal.. kommt aber nicht mit links.. die habe ich alle abgegrast.. sondern versucht mir mit euren worten zu erklären, wie das prinzipiell funktioniert. ein kleines! Beispiel wäre schön.

Muchas Gracias,

Christian


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 26, 2003 17:04 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wie wärs denn wenn du die Anfängertuts auf unsrer Page durcharbeiten würdest?Dort wird alles Schritt für Schritt erklärt!

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 27, 2003 09:33 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 26, 2003 10:35
Beiträge: 16
schön und gut.. Phobeus hat das super geschrieben. Nur leider funktiert gleich sein erstes Template nicht. Ich arbeite mit Delphi 3 :( aus bestimmten Gründen kann ich auch nicht mit einer neueren Version arbeiten..

Zitat:
Zeile 74: Bezeichner erwartet, aber ')' gefunden;
Zeile 163: undefinierter Bezeichner: 'Devmode';
..
..
usw..


Wer weiss Rat?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 27, 2003 09:42 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Also, wenn ich nicht gerade eines Nachts im Suff eine neue Version hochgeladen habe, dann sollte es eigentlich funktionieren. Ich tippe stark darauf, dass deine Windows.pas Unit von Delphi3 nicht wirklich mehr up to date ist. Habe bisher den ganzen Kram nicht auf älteren System getestet und kann nur sagen, dass zumindest ab D5 alles einwandfrei funktioniert.

Ich darf es zwar nicht wirklich offiziell sagen, aber ... vielleicht kennst Du ja jemanden, der eine D6 Personal Edition rumfliegen hat und Dir diese zukommen lassen kann, selbst wenn Borland diese Version offiziell vom Markt genommen hat. Für Lernzwecke reicht sie noch prima aus, zuminest wenn man sie sich vor ein paar Jahren von der Seite oder einer Heft-CD gezogen hat. Ansonsten könntest Du das Problem mit der Windows.pas evtl. auch umgehen in dem Du die VCL-Variante verwendest, da dort das Schlüsselwort DevMode nicht auftaucht. Vielleicht kann Dir aber auch jemand hier sagen, wie die Var in D3 hieß.

_________________
"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: Di Mai 27, 2003 10:37 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Der Typ heißt TDeviceModeA

und weil man sowohl die OpenGL12.pas, als auch die Geometry.pas (wegen überladenen Funktionen) ein wenig umbauen muss - und D3 ausserdem noch keine Text-DFMs lesen kann (Konvertierung ist aber einfach: erst in höherer Delphiversion laden und als binäres DFM speichern), gibt's hier das erste VCL Template als Delphi 3 Version.

<a href='http://www.delphigl.com/upload/opengl12_vcl_template_d3_mars.zip' target='_blank'>http://www.delphigl.com/upload/opengl12_vc...ate_d3_mars.zip</a>

API Programme in D3 zu kompilieren ist sowieso kein Problem - und man wird mit einer etwas kleineren .exe "belohnt".

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 27, 2003 10:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 26, 2003 10:35
Beiträge: 16
Hi Phobeus !

Danke für Deine schnelle Antwort. Ich hatte mir damals selbst Delphi 6 von der Borland-Seite runtergeladen und habs auch noch zuhause. Da werde ich das ganze auch mal ausprobieren. Das Problem ist halt, dass ich hier in der Firma nur mit Delphi 3 arbeiten kann, weil hier einige Komponenten nicht aufwärtskompatibel sind. Mit der VCL-Variante gibt es andere Probleme: OpenGl12 funzt nur unter Delphi 4 oder höher. Stecke hier in ner ziemlichen Zwickmühle. :blink:

Chris


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 27, 2003 10:47 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Ja, sowas in der Art habe ich bereits befürchtet. Wie gesagt habe es nie mit den alten Versionen überprüft und im allgemeinen wird es eher sinnvoller sein eine neuere Version zu verwenden. So teuer sind diese meist auch nicht und IMAO gab es bei der D3 kein Code-Insight etc. D6 Personal sollte zumindest keine Probleme bereiten.

_________________
"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: Di Mai 27, 2003 10:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 26, 2003 10:35
Beiträge: 16
DANKE Mars !!!!

Das funktioniert ! :D

Hast du das Template geschrieben/umgeschrieben?

Wenn ich fragen dazu habe, kann ich mich an Dich wenden?

Ihr seid spitze !

Chris B)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 27, 2003 11:14 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Das Template habe ich grad runtergeladen, das Formular von Text.DFM nach binäres DFM konvertiert und die Typen geändert, die D3 nicht kannte, das $EXTERNALSYM rausgelöscht, mit dem D3 noch nix anfangen kann und den überladenen Funkionen aus der Geometry.pas eindeutige Namen gegeben.
Der sonstige Code ist völlig unverändert - und wenn du die geänderten Units verwendest, sollten auch die anderen Beispiele kein Problem mehr darstellen (bei VCL Projekten ist halt ein wenig umständlich, dass du die erst in einer höheren Delphiversion laden musst - und dann als binäres DFM abspeichern).

D3 unterstützt übrigens Code Insight - weswegen man bei fraglichen Parametern eigentlich nur die Maus neben der Routine positionieren muss, um den entsprechenden Typ herauszubekommen.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 27, 2003 14:47 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 26, 2003 10:35
Beiträge: 16
hi Phobeus.. ich bins nochmal.

Kannst du mir mal erklären, was es bringt, die aktuelle Matrix mit glPushMatrix auf dem Stack abzulegen, dann manipulationen vorzunehmen und schlussendlich die alte Matrix wieder zu verwenden? versteh ich nicht.. hilf mir mal bitte. Dann wären doch die änderungen weg, oder nicht?

Chris :blink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 27, 2003 15:18 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Ruhig beim Themenwechsel ne neuen Thread aufmachen!

Ja, dass ist richtig. Aber das kann durchaus erwünscht sein!
Wie richtigen eine Matrix ein, so dass wir unsere Kamera-Bewegung haben und zeichnen dann ein Objekt. Darum herum soll nun noch ein anderes bewegt werden.

Kamera;
Körper
Objekt1;

Nun stellen wir allerdings fest, dass wir nicht nur ein Objekt haben, sondern mehre. Würden wir nun unsere aktuelle Matrix weiter verwenden, so würde sich alles nach dem Objekt1 richten. Fatal! Also resetten wir die WordMatrix auf dem Punkt bevor wie Körper1 gezeichnet haben und können nun wieder sinnvoll neu einsetzen. Natürlich könnte man statt dessen auch glLoadIdentity nehmen und die Kameratransformation erneut durchführen, allerdings ist sowas langsamer als das pushen und poppen. Dies ist sicherlich der einfachste Fall. Nehmen wir doch einmal einen Menschenlichen Körper vor.

Kamera;
Kopf;
Körper;
glPushMatrix;

Nun rendern wir den:
Schulterl;
Arml;
Handl;
glPopMatrix;
SchulterR;
ArmR;

dreht sich der Arm, so soll sich ja auch die Hand "relativ" dazu mit bewegen. Eine Veränderung des Arms reicht also aus ohne z.b. die Hand mitzuberechnen. Wollen wir jedoch den zweiten Arm mitzeichen, müssen die Matrix auf den ursprünglichen Punkt zurücksetzen und können dann anfangen die Rechte Hälfte sie machen.

Habe auch schonmal angefangen dazu noch was zu schreiben, war aber nie zufrieden damit ;) Hoffe, das hilft erstmal.

Ceyas,
Flow

_________________
"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: Mi Mai 28, 2003 06:59 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
:huh: Damn it. Nun fang ich auch noch an mit falschen Namen zu signieren ... Arghhh ;)
Das andere Tut wird folgen sobald ich ein Model gefunden habe, was mich habwegs befriedigt *g* ;)

Ceyas,
Phobeus

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 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 | 16 Queries | GZIP : On ]