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
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> .
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.
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..."
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...
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.
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..."
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"
Zitat:
ich redete natürlich von den Headern der JEDIS :twisted: *ätsch*
Header ohne T? Unwarscheinlich... aber.... wooooooo? Außerdem liegt meinem Package die OpenGL12 von M.L. bei (*ätsch* ), was sich allerdings demnächst ändern wird....
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
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.
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.
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.
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.