Registriert: Do Jun 22, 2006 19:13 Beiträge: 52 Wohnort: Lübeck
Hallo zusammen,
ich beschäftige mich seit dem Wochenende mit OpenGL und hab auch schon ein wenig hinbekommen können. Aber was mir absolut nicht gelingen will, ist eine realistische Ansicht der Tennisbälle.
Ich habe ein ganz normal Textur über die Spheren gelegt. Wenn ich mit Licht arbeiten muss, dann frage ich mich wie. Ich habe alle parameter verstellt und nichts ändert sich.
Wenn sich doch wenigstens ein wenig was verändern würde, dann wüsste ich ja in welche Richtung ich weiter nachdenken muss. Ich weiß nicht mehr weiter. Hab so viele Sachen ausprobiert.
Registriert: Do Jun 22, 2006 19:13 Beiträge: 52 Wohnort: Lübeck
Mir ist augefallen, sobald ich glEnable(GL_TEXTURE_2D) ausführe werden anscheinend keine Lichtberechnungen mehr berücksichtigt.
Kommentier ich die Zeile aus sehe ich rote Bälle mit Lichtberechnung. Schalte ich das Licht aus sind die Bälle weiß. Aberdas ist ja auch richtig so und ich versteh auch warum. Aber warum die Bälle bei glEnable(GL_TEXTURE_2D) und enable(GL_LIGHTING) nur wie 2D-Bilder aussehen versteh ich nicht.
Hier die Bälle mit auskommentierter glEnable(GL_TEXTURE_2D) Zeile:
schön dass du die glut32.dll reingepackt hast, aber die dpr hast du vergessen
ist aber kein problem, diese hier geht:
Code:
program Ball;
uses
Forms,
Unit1 in'Unit1.pas'{Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
der header ist auch net mehr so aktuell, lade dir mal bitte die dglopengl.pas findest du im wiki und ob glut noch so aktuell und gebräuchlich ist, weiß ich auch net
was mich stutzig macht an deine, code ist das hier:
Code:
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT1, GL_AMBIENT,@Rot);
glLightfv(GL_LIGHT1, GL_DIFFUSE,@Rot);
glLightfv(GL_LIGHT1, GL_SPECULAR,@Rot);
glLightfv(GL_LIGHT1, GL_POSITION,@LichtPosition);
glLightfv(GL_LIGHT2, GL_AMBIENT,@Rot);
glLightfv(GL_LIGHT2, GL_DIFFUSE,@Rot);
glLightfv(GL_LIGHT2, GL_SPECULAR,@Rot);
glLightfv(GL_LIGHT2, GL_POSITION,@LichtRichtung);
du aktivierst light0 und setzt werte für light1 und light2, das kann garnet klappen und wozu hast du einmal licht position und einmal licht richtung ? bei zwei verschiedenen lichtern die du garnet aktivierst ?
ebenso, dass du alles auf rot setzt, ich glaube dadurch wirst du kein richtiges licht erhalten.
mfg
Zuletzt geändert von Seth am Di Dez 12, 2006 19:30, insgesamt 2-mal geändert.
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.