hex dezimal: abdunkeln?


  • Mod

    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


  • Mod

    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);
    

  • Mod

    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.


  • Mod

    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


  • Mod

    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


  • Mod

    dann denk nach bevor du rotz postest.

    rapso->greets();



  • rapso schrieb:

    dann denk nach bevor du rotz postest.

    rapso->greets();

    Schon klar.

    Bye, TGGC


  • Mod

    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 gleich

    Achtung Kinder hier könnt ihr noch was Lernen. 😎

    Bye, TGGC


  • Mod

    TGGC schrieb:

    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 gleich

    Achtung Kinder hier könnt ihr noch was Lernen. 😎
    Bye, TGGC

    a) wenn ich ohne datentypen angaben pseudocode schreibe, schreibe ich weder mit float noch mit int oder fixpoint und wenn jemand meint daraufhin interner reininterpretieren zu müssen die nicht exisiteren, kann ich ihm sagen wie ich das wirklich bei mir im source gelöst habe.
    b) was der operator behind the scenes macht, dürfte für das verständniss des pseudocodes absolut egal sein, sofern die funktionalität erhalten bleibt.
    c) wenn du ein bisschen veständniss vom OOP hättest, wüstest du dass man von außen nicht RAW-werte reinsätzt, sonst würde meine zZ auf 1:19:12 eingestellte klasse mit deinem wert genau so nen rotz bauen wie du hier postest.

    und falls es TGGC jetzt nicht versteht kinder, erklärt es ihm bitte damit er sich hier nicht mittels weiterer dümmmlicher annahmen total deklassiert.

    rapso->greets();



  • Jaja red dich nur weiter raus. Klar interessiert es, was genau dein Operator macht. Dein Argument war ja Geschwindigkeit, nicht Verständnis.

    Bye, TGGC


  • Mod

    TGGC schrieb:

    Jaja red dich nur weiter raus. Klar interessiert es, was genau dein Operator macht. Dein Argument war ja Geschwindigkeit, nicht Verständnis.

    ds ich es aus verständnisgründen gepostet habe, hat der der es verstehen wollte verstanden, was der operator* macht ist also offensichtlich. wenn du das nicht peilst, wäre es nicht das erstemal also mach dir nichts draus.

    wie der operator* das macht ist ne andere frage, und auf die falsche annahme es wäre ne float mul hab ich es korrigiert, hör' also mit deinen dümmlichen falschen annahmen auf.

    rapso->greets();



  • Komisch das "der, der es verstehen wollte und verstanden hat" dann noch zu falschen Annahmen kam. Du widersprichst dir.

    Bye, TGGC


  • Mod

    TGGC schrieb:

    Komisch das "der, der es verstehen wollte und verstanden hat" dann noch zu falschen Annahmen kam. Du widersprichst dir.

    pixartist hat es gefragt, von mir beantwortet bekommen und verstanden.
    Sunyday hat aufgrund meines pseudocodes irgendwelche implementierungen geschlussfolgert.

    pixartist!=Sunday

    wieviele dümmliche posts müssen von dir noch kommen?

    rapso->greets();



  • Ahso, Sunday wollte es also gar nicht verstehen. Daher sind Antworten an ihn nur "bullshit" und "Rotz". Ahoi, Herr Mod.

    Bye, TGGC


Anmelden zum Antworten