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

Aktuelle Zeit: Mo Jul 07, 2025 19:52

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 11, 2003 16:44 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 08, 2003 15:49
Beiträge: 266
Wohnort: Aachen
Ich habe mir das Licht tut ("Das Wesen von hell und dunkel") durchgelesen und habe mir eine Procedure erstellt.
Code:
  1.  
  2. procedure CreateLight;
  3. const
  4.   //position des lichtes
  5.   light_position : Array[0..3] of TGlFloat = (1.0, 1.0, -9.0, 1.0);
  6.   //Umgebungs Licht
  7.   light0_ambient  : Array[0..3] of TGlFloat = (0.0, 0.0, 0.0, 1.0);
  8.   //Lichtstrahlen werden in alle Richtungen verteilt
  9.   light0_diffuse  : Array[0..3] of TGlFloat = (0, 1.0, 1.0, 1.0);
  10. var
  11.   LightDirection : Array[0..2] of TGlFloat;
  12. begin
  13.   //Lichtrichtung
  14.   LightDirection[0] := 1;
  15.   LightDirection[1] := 1;
  16.   LightDirection[2] := 0;
  17.   //gibt die Richtung an, in die das Spotlicht zeigt
  18.   glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, @LightDirection[0]);
  19.  
  20.   glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 100.0);
  21.   glLightf(GL_LIGHT0, GL_SPOT_EXPONENT, 90.0);
  22.  
  23.   glLightfv(GL_LIGHT0, GL_AMBIENT,  @light0_ambient[0]);
  24.   glLightfv(GL_LIGHT0, GL_DIFFUSE,  @light0_diffuse[0]);
  25.   glLightfv(GL_LIGHT0, GL_POSITION, @light_position[0]);
  26.   glEnable(GL_LIGHT0);
  27.   glEnable(GL_LIGHTING);
  28. end;
  29.  

Doch so ganz verstehe ich das nicht. Was bedeutet GL_SPOT_CUTOFF und GL_SPOT_EXPONENT ?
Ich möchte nur einen kleinen licht kreis darstellen aber mit der Procedure habe ich eine große Fläche beleuchtet.
Kann mir da einer weiter Helfen ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 11, 2003 17:24 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
du versuchst also eine große fläche aus wenigen polygonen mit einem licht zu beleuchten? hmm.... les dir mal das "vertexproblem" durch, vielleicht wirds dann einfacher.

zu dienen fragen:
GL_SPOT_EXPONENT: wenn du dir einen lichtspot vorstellst, dann gibt es oft den effekt, dass in der mitte des spots das lciht heller sit, als am rand.... frage beantwortet?

GL_SPOT_CUTOFF: ist der öffnungswinkel des lichts... wenn du die lichtrichtung hast, dann legst du eine halbgerade daran, die sich bei der lichtquelle mit der richtung schneidet. der winkel in dem sie sich schneiden ist GL_SPOT_CUTOFF. jetzt drehst du die halbgerade aussen um die richtung herum und erhältst den Lichtkegel


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 12, 2003 10:48 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 08, 2003 15:49
Beiträge: 266
Wohnort: Aachen
Werd ich mal machen. Ja Fragen sind beantwortet. Danke


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 29 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 ]