Hossa Cyberstorm,
Ich Studiere Informatik, im 7. Semester mit Vetierfung VIS, und da schreibt jeder mal nen
Raytracer
Im 1. Fall kommen Immer werte zwischen 0..1 raus
Du liest die
RGB werte aus, dann Skalleirst du sie auf 0..1 ( Also durch 255 Teilen ) dann die Berechnung und danach wieder HochsKalieren => ex kommt wieder ein Wert zwischen 0..1 das ist mit ein rund warum OgenGL alles auf 0..1 abbilden kann.
Bei Meinem Raytracer genau wie bei anderen Kann man ,wenn dann doch Größere Werte Auftreten die Mittels Scaling oder clamping weiterverarbeiten.
Dein Faktor ist auch ganz einfach.
Stell dir For du willst dein Bild Grün Färben ( Grün = (0,255,0) )
dann willst du 50% Grün haben das ergibt dann (Farbe alt = ( x,y,z))
Delphi-Quellcode:
Prozent := 50 / 100;
Farbe_neu :=( max(0,min(255,round(0*Prozent +x))),max(0,min(255,round(255*Prozent +y))),max(0,min(255,round(0*Prozent +z))));
Wenns noch genauer sein mus , must bis zum We warten, habe einen Hauptseminarvortrag der mich aufhält.