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

Aktuelle Zeit: Di Jul 15, 2025 17:21

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



Ein neues Thema erstellen Auf das Thema antworten  [ 30 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: So Nov 07, 2004 21:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Du musst ja dein Model auch nicht bei jedem Frame berechnen. Dass rotiert und verschiebst du ja nur.
Die Normalen drehen sich dabei auch mit.

Du musst sie nur vor jedem Dreieck die entsprechende normale mit übergeben.

berechnen kannst du sie beim laden des models oder bei der generierung einer form (z.b Kugel oder watt auch immer).

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 08, 2004 20:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Es genügt, die Normalen für jedes Dreieck einmal zu berechnen(sie müssen natürlich jedes mahl wieder übergeben werden), falls du die Punkte an sich nichtz änderst, sondern nur das gesammte model verschiebst und drehst, dann werden die normalen auch mitgedreht und verschoben.

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 08, 2004 23:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Joa ich werde das mal alles übersichtlicher machen.
Kann ich Normalen eigentlich auch in diese Liste schreiben?
Das ich dann einfach normalen und vertieses in diese Liste schreibe, weiß gerade net wie das geht ^^
Aber man kann doch so ne OpenGL List machen und Vertieces reinpacken.

Bleiben da auch Normalen kleben?

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 09, 2004 09:12 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
In einer Displayliste können praktisch alle OpenGL-Befehle abgelegt werden. Demnach auch glNormal*. Wichtig ist jedoch zu wissen, dass immer nur das Resultat der Operationen in der Liste gespeichert wird. Eine spätere Änderung der Normalen oder Vertices ist demnach nur möglich, wenn eine neue Displayliste erstellt wird.

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 09, 2004 22:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
So, ich habe meinen Code nochmal umgeschrieben ...
Ist um einiges übersichtlicher, evtl schreib ichs noch bissl einfacher... aber erstmal muss ich wissen ob das überhaupt so in etwa geht,
denn mein Boden ist SO Dunkel seit Normalen... :-/

Code:
  1. procedure TMapKlasse.CreateDL;
  2. var
  3.   i,m: integer;
  4.   mitte: single;
  5.   Noal , p1 , p2 , p3 : TVertex;
  6.  
  7. begin
  8.  
  9. BodenVL := glGenLists(1);
  10.  glNewList(BodenVL,GL_COMPILE);
  11.  
  12. glBindTexture(GL_TEXTURE_2D, textur);
  13. glBegin(GL_TRIANGLES);
  14.  
  15.   for m := 0 to high(vMap) do
  16.   begin
  17.     for i := 0 to high(vMap[m]) do
  18.     begin
  19.  
  20.     if colored then
  21.     glcolor3f(1,0,0);
  22.  
  23.  
  24.   p1.x := 2*i*x_faktor;
  25.   p1.y := vMap[m][i].y*y_faktor;
  26.   p1.z := 2*m*z_faktor;
  27.   p2.x := 2*i*x_faktor;
  28.   p2.y := vMap[m][i].y*y_faktor;
  29.   p2.z := 2*m*z_faktor-z_faktor;
  30.   p3.x := 2*i*x_faktor+x_faktor;
  31.   p3.y := vMap[m][i].y*y_faktor;
  32.   p3.z := 2*m*z_faktor-z_faktor;
  33.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  34.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  35.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  36.  
  37.       glNormal3f(Noal.x,Noal.y,Noal.z);
  38.       glTexCoord2F(0,0); glVertex3f(p1.x,p1.y,p1.z);
  39.       glTexCoord2F(0,1); glVertex3f(p2.x,p2.y,p2.z);
  40.       glTexCoord2F(1,1); glVertex3f(p3.x,p3.y,p3.z);
  41.     if colored then
  42.     glcolor3f(0,1,0);
  43.  
  44.   p1.x := 2*i*x_faktor+x_faktor;
  45.   p1.y := vMap[m][i].y*y_faktor;
  46.   p1.z := 2*m*z_faktor-z_faktor;
  47.   p2.x := 2*i*x_faktor+x_faktor;
  48.   p2.y := vMap[m][i].y*y_faktor;
  49.   p2.z := 2*m*z_faktor;
  50.   p3.x := 2*i*x_faktor;
  51.   p3.y := vMap[m][i].y*y_faktor;
  52.   p3.z := 2*m*z_faktor;
  53.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  54.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  55.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  56.  
  57.       glNormal3f(Noal.x,Noal.y,Noal.z);
  58.       glTexCoord2F(0,0); glVertex3f(p1.x,p1.y,p1.z);
  59.       glTexCoord2F(0,1); glVertex3f(p2.x,p2.y,p2.z);
  60.       glTexCoord2F(1,1); glVertex3f(p3.x,p3.y,p3.z);
  61.  
  62.       inc(felderzahl);
  63.       if i < high(vMap[m]) then
  64.       begin
  65.     if colored then
  66.     glcolor3f(0,0,1);
  67.  
  68.   p1.x := 2*i*x_faktor+x_faktor;
  69.   p1.y := vMap[m][i].y*y_faktor;
  70.   p1.z := 2*m*z_faktor;
  71.   p2.x := 2*i*x_faktor+x_faktor;
  72.   p2.y := vMap[m][i].y*y_faktor;
  73.   p2.z := 2*m*z_faktor-z_faktor;
  74.   p3.x := ((2*i)+1)*x_faktor+x_faktor;
  75.   p3.y := vMap[m][i+1].y*y_faktor;
  76.   p3.z := 2*m*z_faktor-z_faktor;
  77.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  78.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  79.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  80.  
  81.       glNormal3f(Noal.x,Noal.y,Noal.z);
  82.       glTexCoord2F(0,0); glVertex3f(p1.x,p1.y,p1.z);
  83.       glTexCoord2F(0,1); glVertex3f(p2.x,p2.y,p2.z);
  84.       glTexCoord2F(1,1); glVertex3f(p3.x,p3.y,p3.z);
  85.  
  86.     if colored then
  87.     glcolor3f(0,1,1);
  88.  
  89.   p1.x := 2*i*x_faktor+x_faktor;
  90.   p1.y := vMap[m][i].y*y_faktor;
  91.   p1.z := 2*m*z_faktor;
  92.   p2.x := 2*i*x_faktor+x_faktor;
  93.   p2.y := vMap[m][i].y*y_faktor;
  94.   p2.z := 2*m*z_faktor-z_faktor;
  95.   p3.x := ((2*i)+1)*x_faktor+x_faktor;
  96.   p3.y := vMap[m][i+1].y*y_faktor;
  97.   p3.z := 2*m*z_faktor-z_faktor;
  98.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  99.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  100.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  101.  
  102.       glNormal3f(Noal.x,Noal.y,Noal.z);
  103.       glTexCoord2F(0,0); glVertex3f(p1.x,p1.y,p1.z);
  104.       glTexCoord2F(0,1); glVertex3f(p2.x,p2.y,p2.z);
  105.       glTexCoord2F(1,1); glVertex3f(p3.x,p3.y,p3.z);
  106.  
  107.       glTexCoord2F(1,1); glVertex3f(((2*i)+1)*x_faktor+x_faktor,vMap[m][i+1].y*y_faktor,2*m*z_faktor-z_faktor);
  108.       glTexCoord2F(1,0); glVertex3f(((2*i)+1)*x_faktor+x_faktor,vMap[m][i+1].y*y_faktor,2*m*z_faktor);
  109.       glTexCoord2F(0,0); glVertex3f(2*i*x_faktor+x_faktor,vMap[m][i].y*y_faktor,2*m*z_faktor);
  110.  
  111.             inc(felderzahl);
  112.       end;
  113.       if m < high(vMap) then
  114.       begin
  115.     if colored then
  116.     glcolor3f(1,1,0);
  117.  
  118.   p1.x := 2*i*x_faktor;
  119.   p1.y := vMap[m+1][i].y*y_faktor;
  120.   p1.z := ((2*m)+1)*z_faktor;
  121.   p2.x := 2*i*x_faktor;
  122.   p2.y := vMap[m][i].y*y_faktor;
  123.   p2.z := 2*m*z_faktor;
  124.   p3.x := 2*i*x_faktor+x_faktor;
  125.   p3.y := vMap[m][i].y*y_faktor;
  126.   p3.z := 2*m*z_faktor;
  127.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  128.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  129.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  130.  
  131.       glNormal3f(Noal.x,Noal.y,Noal.z);
  132.       glTexCoord2F(0,0); glVertex3f(p1.x,p1.y,p1.z);
  133.       glTexCoord2F(0,1); glVertex3f(p2.x,p2.y,p2.z);
  134.       glTexCoord2F(1,1); glVertex3f(p3.x,p3.y,p3.z);
  135.  
  136.     if colored then
  137.     glcolor3f(1,0,1);
  138.  
  139.   p1.x := 2*i*x_faktor+x_faktor;
  140.   p1.y := vMap[m][i].y*y_faktor;
  141.   p1.z := 2*m*z_faktor;
  142.   p2.x := 2*i*x_faktor+x_faktor;
  143.   p2.y := vMap[m+1][i].y*y_faktor;
  144.   p2.z := ((2*m)+1)*z_faktor;
  145.   p3.x := 2*i*x_faktor;
  146.   p3.y := vMap[m+1][i].y*y_faktor;
  147.   p3.z := ((2*m)+1)*z_faktor;
  148.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  149.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  150.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  151.  
  152.       glNormal3f(Noal.x,Noal.y,Noal.z);
  153.       glTexCoord2F(1,1); glVertex3f(p1.x,p1.y,p1.z);
  154.       glTexCoord2F(1,0); glVertex3f(p2.x,p2.y,p2.z);
  155.       glTexCoord2F(0,0); glVertex3f(p3.x,p3.y,p3.z);
  156.  
  157.             inc(felderzahl);
  158.       end;
  159.       if (m < high(vMap)) AND (i < high(vMap[m])) then
  160.       begin
  161.       mitte := (vMap[m+1][i].y+vMap[m+1][i+1].y+vMap[m][i+1].y+vMap[m][i].y)*y_faktor/4;
  162.     if colored then
  163.     glcolor3f(1,0.4,0.5);
  164.   p1.x := 2*i*x_faktor+x_faktor;
  165.   p1.y := vMap[m+1][i].y*y_faktor;
  166.   p1.z := ((2*m)+1)*z_faktor;
  167.   p2.x := 2*i*x_faktor+x_faktor;
  168.   p2.y := vMap[m][i].y*y_faktor;
  169.   p2.z := 2*m*z_faktor;
  170.   p3.x := ((2*i)+1)*x_faktor+(x_faktor/2);
  171.   p3.y := mitte;
  172.   p3.z := 2*m*z_faktor+z_faktor/2;
  173.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  174.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  175.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  176.  
  177.       glNormal3f(Noal.x,Noal.y,Noal.z);
  178.       glTexCoord2F(0,1); glVertex3f(p1.x,p1.y,p1.z);
  179.       glTexCoord2F(0,0); glVertex3f(p2.x,p2.y,p2.z);
  180.       glTexCoord2F(0.5,0.5); glVertex3f(p3.x,p3.y,p3.z);
  181.  
  182.     if colored then
  183.     glcolor3f(1,0.2,0.5);
  184.  
  185.   p1.x := 2*i*x_faktor+(x_faktor*1.5);
  186.   p1.y := mitte;
  187.   p1.z := ((2*m)+0.5)*z_faktor;
  188.   p2.x := 2*i*x_faktor+x_faktor;
  189.   p2.y := vMap[m][i].y*y_faktor;
  190.   p2.z := 2*m*z_faktor;
  191.   p3.x := ((2*i)+1)*x_faktor+x_faktor;
  192.   p3.y := vMap[m][i+1].y*y_faktor;
  193.   p3.z := 2*m*z_faktor;
  194.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  195.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  196.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  197.       glNormal3f(Noal.x,Noal.y,Noal.z);
  198.       glTexCoord2F(0.5,0.5); glVertex3f(p1.x,p1.y,p1.z);
  199.       glTexCoord2F(0,0); glVertex3f(p2.x,p2.y,p2.z);
  200.       glTexCoord2F(1,0); glVertex3f(p3.x,p3.y,p3.z);
  201.  
  202.     if colored then
  203.     glcolor3f(0.2,0.5,1);
  204.  
  205.   p1.x := ((2*i)+1)*x_faktor+x_faktor;
  206.   p1.y := vMap[m][i+1].y*y_faktor;
  207.   p1.z := 2*m*z_faktor;
  208.   p2.x := ((2*i)+1)*x_faktor+x_faktor;
  209.   p2.y := vMap[m+1][i+1].y*y_faktor;
  210.   p2.z := ((2*m)+1)*z_faktor;
  211.   p3.x := 2*i*x_faktor+x_faktor*1.5;
  212.   p3.y := mitte;
  213.   p3.z := ((2*m)+0.5)*z_faktor;
  214.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  215.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  216.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  217.       glNormal3f(Noal.x,Noal.y,Noal.z);
  218.       glTexCoord2F(1,0); glVertex3f(p1.x,p1.y,p1.z);
  219.       glTexCoord2F(1,1); glVertex3f(p2.x,p2.y,p2.z);
  220.       glTexCoord2F(0.5,0.5); glVertex3f(p3.x,p3.y,p3.z);
  221.  
  222.     if colored then
  223.     glcolor3f(0.6,0.6,1);
  224.  
  225.   p1.x := ((2*i)+0.5)*x_faktor+x_faktor;
  226.   p1.y := mitte;
  227.   p1.z := 2*m*z_faktor+z_faktor/2;
  228.   p2.x := ((2*i)+1)*x_faktor+x_faktor;
  229.   p2.y := vMap[m+1][i+1].y*y_faktor;
  230.   p2.z := ((2*m)+1)*z_faktor;
  231.   p3.x := 2*i*x_faktor+x_faktor;
  232.   p3.y := vMap[m+1][i].y*y_faktor;
  233.   p3.z := ((2*m)+1)*z_faktor;
  234.   Noal.x := +(p1.y-p2.y)*(p1.z-p3.z)-(p1.z-p2.z)*(p1.y-p3.y);
  235.   Noal.y := -(p1.x-p2.x)*(p1.z-p3.z)+(p1.z-p2.z)*(p1.x-p3.x);
  236.   Noal.z := +(p1.x-p2.x)*(p1.y-p3.y)-(p1.y-p2.y)*(p1.x-p3.x);
  237.       glNormal3f(Noal.x,Noal.y,Noal.z);
  238.       glTexCoord2F(0.5,0.5); glVertex3f(p1.x,p1.y,p1.z);
  239.       glTexCoord2F(1,1); glVertex3f(p2.x,p2.y,p2.z);
  240.       glTexCoord2F(0,1); glVertex3f(p3.x,p3.y,p3.z);
  241.  
  242.       inc(felderzahl);
  243.       end;
  244.     end;
  245.   end;
  246.   glEnd();
  247.   felderzahl := 0;
  248.  
  249.   glEndList;
  250. end;

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 10, 2004 21:05 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Sieht richtig aus. Stimmt denn die beleuchtung abgesehen von der helligkeit?

Hast du glEnable(GL_NORMALIZE); wieder drinn ??? sollte jetzt eigentlich funktionieren.

Ansonsten probier hallt ein bischen mit den Licht und Materialeigenschaften herum.

Bei meinen ersten beleuchtungversuchen war auch alles sehr dunkel :-)

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 10, 2004 21:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Ja Normalize ist drin.
Alles sehr dunkel, nur sichtbar wenn ich den Bildschirm heller stelle.
Und beleuchtet ist alles gleichmäßig.
Don't know :-/

Was soll ichen daran rumspielen ^^
Wenn er wenigstens jetzt noch irgendwie das falsche licht anzeigen würde oder so,
aber so hab ich ja nicht einen anhaltspunkt.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 11, 2004 09:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
an sich müssen selbst bei bewegenden objekten die normalen nur einmal berechnet werden, da diese sich ja nicht veränderrn.

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 11, 2004 09:57 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich hatte auch mal so ein Helligkeitsproblem. Das Lag an den Attenuation werten (Abschwächungswerten). Guck mal ins Wiki. Dort stehen für die einzelnen Lichtprobs die Vorgabewerte. Ich hatte damals einfach die falschen werte drinnen.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 12, 2004 18:46 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Code:
  1.   glLightf(Lightname, GL_CONSTANT_ATTENUATION, 0.2);
  2.   glLightf(Lightname, GL_LINEAR_ATTENUATION, 0.001);
  3.   glLightf(Lightname, GL_QUADRATIC_ATTENUATION, 0.004);


Also Danke erstmal.
Nun, aber alles gleichhell.
Sollte man da nicht nen unterschied sehen?
Haste mal die Besten werte für mich?! ;)

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 12, 2004 18:59 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Probier die 4 Werte doch einfach aus :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 12, 2004 20:07 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Also:

Normalenberechnung umgedreht, glaube so klappts besser ^^ bin mir aber net sicher :D
UND:
Code:
  1. glPushMatrix();
  2.   glEnable(GL_NORMALIZE);
  3.   glCallList(BodenVL);
  4.  
  5.   {###############################################################################}
  6.   {--------------------------------     Objects Rendern --------------------------}
  7.  
  8.   for i := 0 to high(vMapObjs) do
  9.     vMapObjs[i].paint;
  10.   glDisable(GL_NORMALIZE);
  11.  
  12. glPopmatrix;


Und in Objekte steht auch das Licht.
Aber, ich habe so das gefühl das es "mit mir" geht.
Dabei will ichs doch mit meiner DisplayList zusammen wandern lassen.
Müsste doch so wies da nun steht gehen?
Das drehen und translaten wird woanderst gemacht, vor diesem Aufruf.

_________________
www.audi32.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Nov 13, 2004 01:47 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Hm bin mir nicht sicher, ob wir den Aspekt schon hatten:

Wenn dass licht sich mit dir mitbewegen soll:

Lichtposition übergeben;
Kamera bewegen;
Objekt bewegen;
Objekt zeichnen;

Soll dass Licht in der Scene stillstehen:

Kamera bewegen;
Lichtposition übergeben;
Objekt bewegen;
Objekt zeichnen;

Soll dass Licht sich mit dem Object mitbewegen:

Kamera bewegen;
Objekt bewegen;
Lichtposition übergeben;
Objekt zeichnen;

Da die Lichtposition beim translaten und scalen und rotieren ebenfalls betroffen ist!

(Kann sein wir hatten dass schon)

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Nov 13, 2004 02:04 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Auch noch zu beachten: Die Kameraposition und Ausrichtung darf ausschließlich in der Projection Matrix stehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Nov 13, 2004 16:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Sehr gut, danke :D
Das letzte war halt noch das Perspective.
Hatte es in der Modelview ... ;) THX

Da bin ich doch glücklich.
Hoffentlich raubt das net zu viele resourcen ?! ^^

_________________
www.audi32.de


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