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

Aktuelle Zeit: Fr Jul 18, 2025 04:17

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Fr Feb 25, 2005 16:52 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Zitat:
Die Position wird durch die Modelansichtsmatrix (zum Zeitpunkt des Aufrufs von glLight) transformiert, so als wäre glLight ein Punkt, und als Betrachterkoordinaten abgespeichert.

Ich brauche hier eine Bestätigung oder eine zusätzliche Erklärung. Ich habe es so verstanden:
z.B. in einer glInit Proc. habe ich so was geschrieben :
Code:
  1.  
  2. var
  3.     LightPosition:array[0..3]of Single= ( 2.0, 0.0, 15.0, 1.0 );
  4.    
  5. begin
  6. ....
  7.   glEnable ( GL_LIGHTING );
  8.   glEnable(GL_LIGHT1);
  9.   glLightfv(GL_LIGHT1, GL_POSITION,@LightPosition[0]);
  10.  


Die angegebene Position (2.0, 0.0, 15.0) wird genau wie ein Vertex gerendert, d.h. durch GL_PROJECTION und GL_MODELVIEW Matrices geändert.

Wenn ich das Licht jetzt aber immer im GL_PROJECTION_Mat. Coord. Space haben will muss ich eine InvertMatrix zu GL_MODELVIEW _Mat haben, und dann Licht durch folgende Transformation rendern :

GL_PROJECTION_mat
Inv_GL_MODELVIEW _mat
glLichtfv
// und jetzt kommt, dass was ich rendern will ?

Oder ist es ganz anders ?

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 26, 2005 00:29 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Was möchtest du erreichen? Das sich die Lichtquelle mit derKamera bewegt, oder dass Sie fest ist?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 26, 2005 12:23 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Beides. Mit 2 Lichtquellen. Eine Quelle bewegt sich mit der Kamera (ist im bezug auf die Kamera immer in einer gleichen Position), andere ist eben statisch, bewegt sich nicht. (wie ein Wand in einem Level)

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 26, 2005 13:34 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
ok, erstmal wir die Position nur mit der Modelview verrechnet. Die Lichtquelle die sich mit der Camera bewegt, muss vor die Initialisierung der Matrix, die andere danach:

Code:
  1.  
  2. glMatrixMode(GL_MODELVIEW);
  3. glLoadIdentity;
  4. glLightfv(GL_LIGHT0, GL_POSITION,@LightPosition[0]);  //Das erste Licht bewegt sich mit der Camera
  5. glTranslate...
  6. glRotate...
  7. glLightfv(GL_LIGHT1, GL_POSITION,@LightPosition[0]);  //Das zweite Licht ist fest
  8.  


beim zweiten Licht musst du darauf achten, dass die w-Komponente auch 1.0 ist, sonst drehts sich zwar, wird aber nicht verschoben (in Bezug auf die Camera)...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Feb 26, 2005 16:56 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Naja. Nein das klappt nicht. Ich weiss dass es zu viel ist aber ein Beispiel wäre nett. In zwischen suche ich weiter.

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]