GLBasic forum

Other languages => GLBasic - de => Topic started by: WPShadow on 2010-Sep-22

Title: OpenGL - Licht
Post by: WPShadow on 2010-Sep-22
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.
Title: Re: OpenGL - Licht
Post by: BumbleBee on 2010-Sep-22
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
Title: Re: OpenGL - Licht
Post by: WPShadow on 2010-Sep-22
Ah, ok!

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

Gebe dir dann Bescheid!
Title: Re: OpenGL - Licht
Post by: Kitty Hello on 2010-Sep-22
Nö. GLBasic 3D Objekte haben einen FarbIndex pro Vector. Du müsstest also das Objekt farbig erstellen (oder Textur drauf - ist eh schneller)
Title: Re: OpenGL - Licht
Post by: WPShadow on 2010-Sep-22
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?
Title: Re: OpenGL - Licht
Post by: BumbleBee on 2010-Sep-22
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
Title: Re: OpenGL - Licht
Post by: WPShadow on 2010-Sep-22
So, hi!

Endlich daheim, Zeile reingesetzt --> funktioniert tatsächlich!!! (http://www.smilies.4-user.de/include/Froehlich/smilie_happy_015.gif)

Genial, danke für den Tip!!!
Title: Re: OpenGL - Licht
Post by: BumbleBee on 2010-Sep-22
Der sieht ja lustig aus. :) Freut mich, dass es geklappt hat. So und weiter gehts...  :booze:

Cheers