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

Aktuelle Zeit: Mo Jul 07, 2025 22:33

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



Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Delphi für OpenGl vorbereiten
BeitragVerfasst: Fr Jan 10, 2003 23:08 
Hi,
also wenn es um OpenGL mit Delphi geht bin ich ein Anfänger von ganz Anfang an. Delphi proggen kann ich schon, aber ich bekomm das mit OpenGL einfach nicht hin. Kann mir mal jemand so eine Vorgehensweise schreiben, wie man sein Delphi (Ver. 6) am besten für OpenGL vorbereitet, und wie man so ein Art Hello World Prog schreibt, natürlich mit OpenGL...
Chris


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jan 11, 2003 00:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Schau mal auf meine Seite ( <a href='http://www.bluetoby.de.vu' target='_blank'>http://www.bluetoby.de.vu</a> ). Dort gibts ein Beginnerpackage mit allen wichtigen Units und einem kompletten Template. Fürs OpenGL lernen empfehle ich die ersten Tutorials von <a href='http://www.delphigl.com' target='_blank'>http://www.delphigl.com</a> .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Dreieck verschwindet
BeitragVerfasst: Sa Feb 08, 2003 14:39 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Feb 08, 2003 14:30
Beiträge: 10
Wohnort: Lotte (bei Osnabrück)
Hallo,

ich bin auch absoluter Anfänger in OpenGL und habe mir das Template heruntergeladen und nun habe ich mit der ersten Übung angefangen(Dreieck zeichnen), aber mein Dreieck verschwindet ziemlich schnell wieder. Es baut sich auf und bewegt sich ziemlich schnell weg - sprich es wird immer kleiner. Hatt es vieleicht Angst vor mir??
Hier der Code:

// Zeichenprozedur
procedure TDemoForm.ApplicationEventsIdle(Sender: TObject;
var Done: Boolean);
begin
if not IsOpenGLInit then
exit; // Falls OpenGL noch nicht initialisiert ist, erstmal garnix tun
Done := False; // Wichtig, damit immer was getan wird
inc(Frames, 1); // Frames zählen

glClearColor(0, 0, 0, 0.5); // Löschen der Farbe
glClear(GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT); // Leeren des Speichers


// Hier dein Code
gltranslatef(-1.5,0,0);
gltranslatef(0,0,-4);
glbegin(gl_triangles);
glvertex3f(-1.0,-1.0,0.0);
glvertex3f(0,1.0,0);
glvertex3f(1.0,-1.0,0.0);
glend();
SwapBuffers(Canvas.Handle); // Und anzeigen
end;

Sind die Koordinatenverschiebungen inkremental, so dass sich die Ansichtsposition immer weiter verschiebt?

Gruß

Maik

_________________
Computer verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 08, 2003 14:57 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Yep... tutorial 2 genau lesen (Source+Text) ;)

Du setzt die World-Matrix nicht zurück:
Code:
  1. glLoadIdentity;

Ergo ist beim ersten Durchgang noch alles in Ordnung, beim zweiten bereits doppelt so weit weg etc...

_________________
"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: Sa Feb 08, 2003 15:06 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Feb 08, 2003 14:30
Beiträge: 10
Wohnort: Lotte (bei Osnabrück)
Naja, ich dachte ich muss mir nict erst das ganze Tutorial durchlesen.
Aber nun klappts.
Danke

Gruß

Maik

P.s. Bis zum nächsten Problem :-))

_________________
Computer verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 08, 2003 23:14 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Die Tutorials sollten am besten zumindest einmal, durchgelesen werden. Meist sind sie in mehre Kapitel untertteilt, so dass absetztmöglichkeiten sind, allerdings sollte man den Abschnitt schon bis zum Ende durchlesen ;)

_________________
"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: Sa Feb 08, 2003 23:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Ich versuch mich auchmal an Tuts für meine eigene Page... und falls ich irgendwann mal das versprochene Fonttut fertig bekomme, macht ein dickes Kreuz im Kalender...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Tutorial 4
BeitragVerfasst: Mo Feb 10, 2003 16:55 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Feb 08, 2003 14:30
Beiträge: 10
Wohnort: Lotte (bei Osnabrück)
Ich hab ein Problem mit der "Tapete besorgen" im Tut 4.
Unter FormShow habe ich folgendes eingefügt:
var
texture1: PTAUX_RGBImageRec;
tex : PGLuint;
begin
texture1 := auxDIBImageLoadA('./texture/...
glGenTextures(1, @tex);
glBindTexture(GL_TEXTURE_2D, tex);
...
Delphi schmeisst aber folgende Fehlermeldung:
"Inkompatible Typen: 'Cardinal' und 'PGLuint'"

Ich hab mir auch schon den Code von der Downloadsection heruntergeladen, da ist die Variable "Tex" aber überhaupt nicht zugewiesen.

Anmerkung für BlueToby zum Tutorial3/Beginnerpackage:
der Quelltext kommt aus der Downloadsection für Tut3:
...
implementation
{$R *.DFM}
//Wir wollen für ub nicht char, sondern byte - problem mit OpenGl12
procedure glColor3ub(red, green, blue: Byte); {$IFDEF Win32} stdcall; {$ENDIF} external 'OPENGL32.DLL';
...
Ansonsten funktioniert die Zuweisung der Farben nicht mit "glColor3ub(0,0,255).


Ps. Die Tuts sind informativ und unterhaltsam geschrieben, macht echt Spaß damit, OpenGL zu lernen.

_________________
Computer verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tutorial 4
BeitragVerfasst: Mo Feb 10, 2003 16:59 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Zitat:
Anmerkung für BlueToby zum Tutorial3/Beginnerpackage:
der Quelltext kommt aus der Downloadsection für Tut3:

Jedenfalls nicht aus meinen (von meiner Page), denn da gibts bislang nur Einführung....

Und wieso ub?? Nimm einfach f für Single und d für Double...

@Texturen: Benutz, wie ich Jan Horns Textures.pas oder die glBmp.
Im Falle Jan Horns einfach
Code:
  1.  
  2.  
  3. ...
  4.  
  5. //Init
  6.  
  7.  LoadTexture('FileName.bmp',Tex,False);
  8.  
  9. ...
  10.  
  11. // Scene
  12.  
  13. ...
  14.  
  15.  glBindTexture(GL_TEXTURE_2D, Tex);
  16.  
  17.  DrawObjectWithTexture;
  18.  
  19. ...
  20.  
  21.  


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 10, 2003 17:31 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Das liegt daran, dass Du nicht der Header für OpenGL 1.0 verwendest, sondern für 1.2 und diese leicht anders sind. So ganz aus dem stehgreif, mach das @ weg und mache ne gluInt aus der Tex-Variable.

Ansonsten empfehle ich Dir aber auch dringend nicht Glaux, sondern die Loader von Jan Horn oder auch den DevIL anzusehen.

_________________
"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: Mo Feb 10, 2003 17:34 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Zitat:
und mache ne gluInt aus der Tex-Variable.

TGLuInt, oder? :roll:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 10, 2003 17:38 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Besserwisser :wink:
Ja, bei den OpenGL 1.2 Header VON Mike Lischke muss ne T davor... ich redete natürlich von den Headern der JEDIS :twisted: *ätsch*

_________________
"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: Mo Feb 10, 2003 17:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Zitat:
Besserwisser  :wink:
Ja, bei den OpenGL 1.2 Header VON Mike Lischke muss ne T davor...

Bllb... berichtigt man einmal jemand, heißts gleich wieder "Besserwisser" :wink:
Zitat:
ich redete natürlich von den Headern der JEDIS  :twisted: *ätsch*

Header ohne T? Unwarscheinlich... aber.... wooooooo? :wink:
Außerdem liegt meinem Package die OpenGL12 von M.L. bei (*ätsch* :wink:), was sich allerdings demnächst ändern wird.... :twisted:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tutorial 4
BeitragVerfasst: Di Feb 11, 2003 12:52 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Feb 08, 2003 14:30
Beiträge: 10
Wohnort: Lotte (bei Osnabrück)
Zitat:
 Jedenfalls nicht aus meinen (von meiner Page), denn da gibts bislang nur Einführung...  

Damit meinte ich auch den Lösungsquelltext von "dieser" Seite. Ich habe aber mit deinem Beginnerpackage dieses Tut durchgearbeitet und dabei kam der Fehler mit glColor3ub(0,0,255).

Zitat:
Und wieso ub?? Nimm einfach f für Single und d für Double...
...
Benutz, wie ich Jan Horns Textures.pas oder die glBmp.
Im Falle Jan Horns einfach


Da ich ja Anfänger bin, halte ich mich natürlich an den vorgegebenen Quelltext in den Tuts und wenn die dann nicht laufen, kann man schon mal ein paar graue Haare kriegen-Ihr solltet mich mal sehen :D

Mit dem "T" vor GLuInt hat es dann geklappt. Die Variable muss allerdings global und nicht lokal sein, wie ich es etwas weiter oben geschrieben habe. :oops:

Im übrigen bin ich gerade mit dem 4 Tut fertig geworden. Als ich die Pyramiden fertig programmiert hatte, da ist mir ja fast einer abge....(zensiert)-!!!!einfach Super!!!!

Ne kurze Frage habe ich allerdings noch. Wenn ich auf Vollbildmodus umschalte, geht die FPS auf 8 runter. Liegt das an meiner Hardware(Win2000, XP1700+, 1280x1024, ATI Rage Fury 32MB - ca. 4Jahre alt) oder kann man das, im Quelltext, irgendwie beeinflussen.

_________________
Computer verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Tutorial 4
BeitragVerfasst: Di Feb 11, 2003 14:42 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Zitat:
Damit meinte ich auch den Lösungsquelltext  von "dieser" Seite. Ich habe aber mit deinem Beginnerpackage dieses Tut durchgearbeitet und dabei kam der Fehler mit glColor3ub(0,0,255).

Hu, das hab ich im 3. Tut aber nicht gesehen.... :?

Zitat:
Ne kurze Frage habe ich allerdings noch. Wenn ich auf Vollbildmodus umschalte, geht die FPS auf 8 runter. Liegt das an meiner Hardware(Win2000, XP1700+, 1280x1024, ATI Rage Fury 32MB - ca. 4Jahre alt) oder kann man das, im Quelltext, irgendwie beeinflussen.

Ich kenn die GraKa zwar nicht direkt, aber ich denke, dass eine 4 Jahre alte Karte, die evtl. mit den schlechten ATI OpenGL Treibern ausgestattet ist auf einer vergleichsweise so hohen Auflösung nicht gerade sehr schnell ist.


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


Wer ist online?

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