eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingprzyjemna zagadkaprzyjemna zagadka
  • Data: 2013-06-29 08:52:29
    Temat: przyjemna zagadka
    Od: firr <p...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    zagadka mz z gatunku przyjemnych choc dokladnie nie
    wiem jeszcze jak nalezaloby to zrobic

    potrzebuje funkcji do rasteryzowania kółka
    z blendingiem (blending polega
    na tym ze wartosc piksela koloru
    tla pod kólkiem ma byc proporcjonalnie
    zgodnie z alfą dodana do wartosci
    koloru kołka - oba kolory to unsigned
    32 bit w formacie ARGB)

    samo kolko zostalo oparte na midpoincie

    void DrawFillCircleBlendUnsafe(int x1, int y1, int radius, unsigned color)
    {

    int x = 0;
    int y = radius;
    int d1 = 3 - (2 * radius);

    do
    {
    if (d1 < 0) d1 += (x<<2) + 6;
    else d1 += ((x-(y--))<<2) + 10;

    drawScanlineBlendUnsafe(y1+x, x1-y, x1+y, color);
    drawScanlineBlendUnsafe(y1-x, x1-y, x1+y, color);
    drawScanlineBlendUnsafe(y1+y, x1-x, x1+x, color);
    drawScanlineBlendUnsafe(y1-y, x1-x, x1+x, color);
    x++;
    }
    while(x<y);

    }


    1)
    pierwszy problem polega na tym ze okazuje sie ze
    midpoint tutaj niektore poziome linie (scanlines) rysuje dwa razy (i wychodzą wtedy
    dwa razy
    pogrubione w kolorze) - jak to poprawic

    2) jak dobrze napisac funkcje blend

    unsigned blend(unsigned color1, unsigned color2)
    {
    return ...
    }

    (tak zeby byla szybka i poprawna,

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: