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

Aktuelle Zeit: So Dez 22, 2024 03:24

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: Spotlight hinzufügen???
BeitragVerfasst: Mi Feb 17, 2021 17:39 
Offline
DGL Member

Registriert: Mi Feb 17, 2021 17:21
Beiträge: 1
Programmiersprache: C++
Hallo zusammen!

Direkt einmal Danke, dass Ihr euch mein Problem anseht! Ich möchte in die Szene, die ihr auf dem Bild seht, ein Spotlight integrieren, dass von der Lampe auf den Schreibtisch scheint.
Ich hab folgendes versucht, bin aber (wie das Forum schon sagt) totaler Anfänger:

Code:
  1.  
  2.     glPushMatrix();
  3.        
  4.         static float light1_pos[] = { 0.0, 0.4, 0.0, 1.0 };
  5.         static float light1_dir[] = { 0.0, 1.0, 0.0, 1.0 };
  6.  
  7.         glLightfv(GL_LIGHT1, GL_POSITION, light1_pos);
  8.         glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, light1_dir);
  9.  
  10.         //Glühlampe
  11.         glPushMatrix();
  12.             setColor(1, 1, 0);
  13.             glRotatef(-30, 1, 0, 0);
  14.             glTranslatef(0, 2, 3.5);
  15.             glRotatef(90, 1, 0, 0);
  16.             glScalef(1, 1, 1);
  17.        
  18.             myCylinder();
  19.         glPopMatrix();
  20.  


Ich habe also die gelbe Glühlampe erzeugt und möchte davon ausgehend ein Spotlight. Leider erscheint in der Ausgabe gar keine zusätzliche Lichtquelle.

Wo liegen meine Fehler?
Noch mals Danke für eure Hilfe!!!

Liebe Grüße


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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Spotlight hinzufügen???
BeitragVerfasst: Do Feb 18, 2021 12:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jun 05, 2013 15:12
Beiträge: 166
Wohnort: Glinde
Programmiersprache: Delphi 7
Leider kenne ich mich mit Licht nicht gut aus, da ich das Tutorial vor jahren mal getestet habe, aber selber kein Licht benutze.
https://wiki.delphigl.com/index.php/Tutorial_Lektion_8

Voran ich mich aber errinnern kann.
Checkliste:
Licht wurde aktiviert?
Code:
  1.   glEnable(GL_LIGHTING);
  2.   glEnable(GL_LIGHT0);
  3.   glEnable(GL_COLOR_MATERIAL);


Erst das Licht berechnen und anschließend die Objekte zeichnen.
Code:
  1.  glLoadIdentity;
  2.   //..glRotatef, glTransaltef.. für die Kamera
  3.   glLightfv(GL_LIGHT0, GL_POSITION, @position[0]);
  4.   glPushMatrix;
  5.     //..glRotatef, glTransaltef.. für die Objekte
  6.     DrawObjekts;
  7.   glPopMatrix;


Vieleicht hat ja noch jemand anderes einen Hinweis.

Liebe Grüße

_________________
幸福は笑う人に来て ~~ koufuku wa warau hito ni kite
Das Glück kommt zu denen die lachen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Spotlight hinzufügen???
BeitragVerfasst: Do Feb 18, 2021 23:15 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
Ich bin leider mal ganz gemein:
Das OpenGL-Licht ist sowas von veraltet, das gehört nicht angewendet.
Und mit Pech kann es sein, dass deine Treiber entsprechendes Licht nicht mehr richtig unterstützen.

Meine Empfehlung ist es auf eine aktuelle OpenGL-Version aufzusetzen und für dein Licht passende Shader einzusetzen. Wir haben zwar ein Tutorial Tutorial_OpenGL3_Zeichenkontext zu neueren OpenGL-Versionen. Ich empfehle aber dennoch ein Tutorial erstmal woanders zu suchen um die Grundzüge zu verstehen. Unsere Seite ist da leider sehr veraltet.

Lass dich davon nicht abschrecken. Der Einstieg/Umstieg mag zwar erst schlimm aussehen, aber das ist er nicht. Das Aufwendige sind die passenden Shader, aber auch dafür gibt es fertige (einfache) Shader. Stichworter dazu liefert z.B. https://de.wikipedia.org/wiki/Blinn-Beleuchtungsmodell

Mach den Umstieg. Er ist deutlich leichter als du denkst.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


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 12 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.015s | 15 Queries | GZIP : On ]