hex dezimal: abdunkeln?
-
Lieber YUV als HLS, da ist die Transformation etwas weniger rechenintensiv.
-
Und am Ende kommt doch wieder das gleiche wie bei Multiplikation raus...

Bye, TGGC
-
noch ne frage wegen hex:
realAlpha
-> wert zwischen 0 und 1, der den alphawert darstellen soll...
Red/Green/Blue
-> hintergrundfarben
RedE/GreenE/BlueE
-> Überlagernde FarbenRed = ? Green = ? Blue = ?wie kann ich daraus eine transparenz erstellen, sprich...die überlagernde farbe entsprechend des alpha wertes auf der hintergrundfarbe darstellen ( alpha 0 -> nurnoch hintergrund sichtbar)
? danke!
-
Hintergrundfarbe und Alphafarbe linear interpolieren mit dem Alphawert als Gewicht.
Bye, TGGC
-
TGGC schrieb:
Hintergrundfarbe und Alphafarbe linear interpolieren mit dem Alphawert als Gewicht.
Bye, TGGC
linear interpolieren = ?
-
pixartist schrieb:
TGGC schrieb:
Hintergrundfarbe und Alphafarbe linear interpolieren mit dem Alphawert als Gewicht.
Bye, TGGC
linear interpolieren = ?
http://de.wikipedia.org/math/09ec403c6b567d82ef9242b0f5915185.png
sagt mir jetzt nix, ich hab doch nur 2 werte...
-
newRed = Red1+Factor*(Red2-Red1);rapso->greets();
-
rapso schrieb:
newRed = Red1+Factor*(Red2-Red1);rapso->greets();
sooo leicht und auch so logisch...
hätt ich ma drauf kommen können
danke
-
bitte private provokationen und streitereien usw. per mail lösen, das hier ist der falsche forums-unterbereich dafür und damit das nicht ausartet lösch ich das.
rapso->greets();
-
Alpha-Blending über Multiplikation mit einem Gleitkommawert zu lösen, ist äusserst ineffektiv!
Folgendes ist zumindest bei mir 10x schneller im Release-Modus.
Opacity = 128; InvOpacity = 255 - Opacity; newRed = (((Red2 * Opacity) + (Red1 * InvOpacity)) >> 8); newGreen = (((Green2 * Opacity) + (Green1 * InvOpacity)) >> 8); newBlue = (((Blue2 * Opacity) + (Blue1 * InvOpacity)) >> 8);
-
2 multiplikationen pro channel sind sehr ineffektiv, mach es lieber mit der subtraktionsmethode wie es sonst jeder macht, das dürfte fast doppelt so schnell werden.
rapso->greets();
-
rapso schrieb:
2 multiplikationen pro channel sind sehr ineffektiv, mach es lieber mit der subtraktionsmethode wie es sonst jeder macht, das dürfte fast doppelt so schnell werden.
rapso->greets();
du redest jetzt nicht von deine geposteten formel oder? dort rechnest du mit gleitkomma. ich rechne mit ganzzahlen und da fallen 2 multiplikationen nicht ins gewicht.
-
Sunday schrieb:
rapso schrieb:
2 multiplikationen pro channel sind sehr ineffektiv, mach es lieber mit der subtraktionsmethode wie es sonst jeder macht, das dürfte fast doppelt so schnell werden.
rapso->greets();
du redest jetzt nicht von deine geposteten formel oder? dort rechnest du mit gleitkomma. ich rechne mit ganzzahlen und da fallen 2 multiplikationen nicht ins gewicht.
ich rechne mit fixpoint werten.
rapso->greets();
-
Also eher
newRed = Red1+Factor*(Red2-Red1)/256;Bye, TGGC
-
TGGC schrieb:
Also eher
newRed = Red1+Factor*(Red2-Red1)/256;Bye, TGGC
nein, damit käme nur bullshit raus.
rapso->greets();
-
Laber nich.
Bye, TGGC
-
dann denk nach bevor du rotz postest.
rapso->greets();
-
-
TGGC schrieb:
rapso schrieb:
dann denk nach bevor du rotz postest.
rapso->greets();
Schon klar.
Bye, TGGC
späte einsicht, aber ist mehr als man von dir erwarten kann .
rapso->greets();
-
rapso schrieb:
[url=http://www.google.com/search?hl=en&lr=&q=operator+overloading+c%2B%2B&btnG=Search]
a) Du willst dich rausreden, weil du Unsinn geschrieben hast.
b) Der überladene Operator würde genau das "behind the scenes" rechnen müssen
c) Wenn 256 wegen der Fixpunktschreibweise für 1.0 steht, dann stände da nur /1 und das Ergebnis wäre gleichAchtung Kinder hier könnt ihr noch was Lernen.

Bye, TGGC