OpenGL - Licht

Previous topic - Next topic

WPShadow

Hallo,

kann mir jemand sagen, wie es sich bei OpenGL mit dem Licht verhält?

Grundlegend habe ich ein Experiment mit einem weissen Würfel gestartet.

Setze ich hier eine Lichtquelle (X_AMBIENT_LT oder X_SPOT_LT) nimmt das Objekt sofort die Farbe des Lichtes an. Soweit klar.

Nun habe ich mal versucht vor der Texturierung des weissen Objekts ein glColor3f(0,1,0) zu setzen. In diesem Fall blieb
das Objekt jedoch weiterhin rot, ausgehend von der Lichtquelle. Die Farbe selbst wurde nicht berücksichtigt.

Wie genau wird denn die Farbe bzw. das Licht den Oberflächen zugewiesen?

Gilt Licht eigentlich als normale Materialoberfläche? Kann man es in dem Fall auch faken z.B. mit der Farbe der Lichtquelle?

LG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

BumbleBee

Hallo WPShadow
Ja nach unserem Chatmarathon gestern Abend bis heute früh um halb drei  =D hab ich vergessen das du vielleicht das hier noch  brauchst.
   
     glEnable(GL_COLOR_MATERIAL)

War aber geistig  schon  im :bed:   

Müßtest es also so machen

glEnable(GL_COLOR_MATERIAL)
glColor3f(0,1,0)
   
Hoffe das ist auch das, was du meinst. Bis heute Abend dann vielleicht.  =D

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

WPShadow

Ah, ok!

Das könnte sein, ich sehe es mir heute Abend sofort an!

Gebe dir dann Bescheid!
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

Nö. GLBasic 3D Objekte haben einen FarbIndex pro Vector. Du müsstest also das Objekt farbig erstellen (oder Textur drauf - ist eh schneller)

WPShadow

Ich würde gerne der Textur eine Farbe versuchen zuzuweisen...

In den 2D - Tests hat das super funktioniert, in 3D hat das mit der Textur selbst hingehauen, aber sobald ich Licht drüber lege, ist die
Farbgebung durch glColor3f(0,1,0) wieder weg.

Soll ich das vielleicht vorher mit Grabsprite o.ä. vielleicht machen? Also vorher in 2D die Textur erstellen, dann auf das Objekt legen und
erst dann die Lichtquelle wirken lassen?
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

BumbleBee

Probier das mal aus was ich dir geschrieben hab. Bei mir ist die Farbe mit glColor dann noch da auch wenn ichs Licht einschalte.  :booze:

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

WPShadow

So, hi!

Endlich daheim, Zeile reingesetzt --> funktioniert tatsächlich!!!

Genial, danke für den Tip!!!
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

BumbleBee

Der sieht ja lustig aus. :) Freut mich, dass es geklappt hat. So und weiter gehts...  :booze:

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit