Martin Grödl
2003-12-07 19:09:19 UTC
habe probleme beim berechnen der illuminatedColor... meine objekte
schaun im vergleich zu den muster-screenshiots ziemlich blass aus.
so hab ichs gemacht:
zuerst wird das cosinus(phi) als dot-product von normalVector und
lightVector berechnet.
ist das cos(phi) > 0 dann berechnen sich die neuen farbwerte mit
farbwert_neu = ambientIntensity*farbwert_alt +
diffuseIntensity*farbwert_lichtquelle*cos(phi)
(jeweils für die komponenen r, g, b; wobei die lichtquelle ja weiß sein
soll, also farbwert_lichtquelle = 1)
sonst
farbwert_neu = ambientIntensity*farbwert_alt
-----------------------------------------------------
die farbkomponenten r,g,b sind bei mir im bereich [0,1].
natürlich bekomm ich exceptions wenn ich die materialeigenschaften
verstelle weil es dann vorkommt, dass farbkomponenten größer als 1 werden.
ich weiß aber nicht wie ich das anders machen soll...?
danke schonmal für hilfe,
martin
schaun im vergleich zu den muster-screenshiots ziemlich blass aus.
so hab ichs gemacht:
zuerst wird das cosinus(phi) als dot-product von normalVector und
lightVector berechnet.
ist das cos(phi) > 0 dann berechnen sich die neuen farbwerte mit
farbwert_neu = ambientIntensity*farbwert_alt +
diffuseIntensity*farbwert_lichtquelle*cos(phi)
(jeweils für die komponenen r, g, b; wobei die lichtquelle ja weiß sein
soll, also farbwert_lichtquelle = 1)
sonst
farbwert_neu = ambientIntensity*farbwert_alt
-----------------------------------------------------
die farbkomponenten r,g,b sind bei mir im bereich [0,1].
natürlich bekomm ich exceptions wenn ich die materialeigenschaften
verstelle weil es dann vorkommt, dass farbkomponenten größer als 1 werden.
ich weiß aber nicht wie ich das anders machen soll...?
danke schonmal für hilfe,
martin