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

Aktuelle Zeit: Mi Jul 16, 2025 12:04

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



Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Licht festmachen
BeitragVerfasst: So Feb 29, 2004 15:22 
Offline
DGL Member

Registriert: So Feb 29, 2004 14:15
Beiträge: 11
Hab schon wieder ein Problem. Ich hab hier folgenden Code:

Code:
  1.   glPushMatrix;
  2.     glTranslatef(0.0, -20.0, DZ - 135.0);
  3.     glLightfv(GL_LIGHT0, GL_POSITION, @PositionLight);
  4.     glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, @DirectionLight);
  5.     glRotatef(RY, 0.0, 1.0, 0.0);
  6.     MakeObject;
  7.   glPopMatrix;


Eigentlich sollen sich nur die Objekte in "MakeObject" um die Y-Achse drehen und ein Licht von Links heranscheinen. Dieses Licht soll sich aber nicht mitdrehen, tut es aber. Warum?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 29, 2004 15:47 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Code:
  1. glPushMatrix;
  2.     glTranslatef(0.0, -20.0, DZ - 135.0);
  3.     glLightfv(GL_LIGHT0, GL_POSITION, @PositionLight);
  4.     glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, @DirectionLight);
  5.   glPopMatrix;
  6.   glPushMatrix;
  7.     glTranslatef(0.0, -20.0, DZ - 135.0);
  8.     glRotatef(RY, 0.0, 1.0, 0.0);
  9.     MakeObject;
  10.   glPopMatrix;


Bin ja auch net der OGl Held, hätte das auch gemacht wie du, probiers mal so :-/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 29, 2004 15:55 
Offline
DGL Member

Registriert: So Feb 29, 2004 14:15
Beiträge: 11
So hab ich's bereits probiert -> gleicher Effekt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 01, 2004 16:14 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Dreh mal die beiden Teile um...also erst objekte drehen und dann Licht hinzufügen.

Hab auch grad ne kleine Lücke....ich würd wohl solang alles verändern bisses passt oder ich entnervt für heute aufgeben wurde.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 01, 2004 17:59 
Offline
DGL Member

Registriert: So Feb 29, 2004 14:15
Beiträge: 11
Mhh, nein funzt leider auch nicht.
Habt ihr denn noch nie irgendwas änhliches gemacht? Ich vermute da ist nur irgendein Leichtsinnsfehler drinn.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 01, 2004 18:09 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Schau dir mal Kapitel 6 im Redbook an, am besten den Abschnitt "Controlling a Light's Position and Direction". Da dürftest du deine Problemlösung finden. Deine Lichtposition wird nämlich durch deine Translationen und Rotationen beeinflusst.

P.S. : In unserer Tutorialsektion gibts ein sehr gutes Lichttut von Delphic, in dem auch deine Problematik angesprochen wird.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 02, 2004 08:35 
Offline
DGL Member

Registriert: So Feb 29, 2004 14:15
Beiträge: 11
Ja schon, aber wo genau liegt der Fehler? Dass es an irgend so einem Rotationsfehler liegt ist mir schon klar.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 02, 2004 10:37 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Da du nirgendwo gesagt hast wofür deine Variablen stehen (z.B. DZ, RZ) kann man dir halt nur ne allgemeingültige Antwort geben, die man aus dem Tut von Delphic entnehmen kann :
Wenn du stationäres Licht willst, dann musst du zuerst deine Szene entsprechend deiner Kameraeinstellung positionieren und rotieren, dann dein Licht setzen und dann deine Objekte relativ zur Kameraposition platzieren. Wenn sich dein Licht wie du sagst mitbewegst, dann wirst du das nämlich nicht so machen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 03, 2004 19:46 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
es gibt auch eine möglichkeit, wo man 4 werte für die position oder so angibt, wobei der letzte eine 1 oder 0 ist, dass ist dann fest oder bewegt, hab aber jetzt keine ahnung, was das war.

sos weiß das sicher, oder??

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 03, 2004 19:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Stimmt, daran könnte es nämlich auch liegen. Hier mal kurz der Unterschied zwischen w=0 und w<>0 bei der Positionsangabe eines Lichtes :

w=0 :
Die Lichtquelle ist eine direktionale Lichtquelle. Der als GL_POSITION übergebene Vektor stellt also nicht die Position der Lichtquelle, sondern nur deren Richtung dar.

w<>0 :
Positionale Lichtquelle, also gibt GL_POSITION direkt die Lichtposition in homogenen Objektkoordinaten wieder. Sprich : Die Lichtquelle kann so positioniert werden und wird von der Modelansichtsmatrix beeinflusst.

P.S. : Steht aber auch alles im Lichtkapitel des Redbooks und sollte zum Grundwissen im OpenGL-Bereich gehören, also unbedingt mal dieses Kapitel durchlesen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 03, 2004 20:12 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Schätze wenn mal irgendein Deutscher OpenGL-Guru das RedBook übersetzen würde, dann würde es auch viel häufiger gelesen.

Nicht das ich da jetzt jemand spezielles im Sinn hätte .... aber man denkt da mal so nach und.... :wink:

PS: Man könnte das ja auch mal als Comunity-Aktion hier auf DGL durchziehen. Das würde dann den Ruf als beste Deutsche OpenGL Comunity nur noch unterstreichen. Das hat genau die richtige Kragenweite...

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 16:06 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 28, 2002 19:27
Beiträge: 568
Wohnort: Chemnitz / Sachsen
na flash, naja die idee kam schonmal und wurde einstimmig abgelehnt, da die sprache im redbook eigentlich nicht wirklich schwierig ist und jeder, der etwas englisch kann, kann das übersetzen. ... außerdem gibts zur alleralleralller größten not noch übersetzungsprogramme

rswm

_________________
Aktuelles Projekt :
www.PicPlace.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 04, 2004 17:51 
Offline
DGL Member

Registriert: So Feb 29, 2004 14:15
Beiträge: 11
Also bevor wie hier zu sehr vom Thema abschweifen habe ich mich mal entschlossen den kompletten Quelltext online zu stellen. Um vor- und zurückzulaufen muss man die Pfeile "hoch" und "runter" drücken, zum drehen "rechts" bzw. "links".


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 05, 2004 00:42 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Fakt ist aber, dass es nicht darauf ankommt ob es kompliziert zu lesen ist. Viele fangen mit dem ersten Kapitel an und haben einfach die schnauze voll, einfach aus dem Grund weils Englisch is. Geht mir auch so. Ich kann das durchaus lesen aber ich hab einfach keine lust mir das immer nochmal zu überlegen was ich da gerade gelesen habe. Wenns deutsch wäre, in nem lockeren Informativen Ton wie ihr meist üblich dann würde das lesen auch spass machen und flott von der Hand gehen.

Wenn ich mal Zeit hab denk ich über ne Übersetzung noch mal nach... dazu muss ichs ja eh lesen und das wird sich hoffentlich net negativ auswirken.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 05, 2004 17:56 
Offline
DGL Member

Registriert: So Feb 29, 2004 14:15
Beiträge: 11
Warum kann mir denn keiner helfen???


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 7 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 15 Queries | GZIP : On ]