eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingrasteryzacja kuli z shadingiemRe: rasteryzacja kuli z shadingiem
  • Data: 2014-11-16 21:48:55
    Temat: Re: rasteryzacja kuli z shadingiem
    Od: firr <p...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu niedziela, 16 listopada 2014 20:00:25 UTC+1 użytkownik firr napisał:
    > polecam do odpalenia wersje 5, w sumie to nawet jest dosyc przyjemne w ogladaniu
    (zwlaszcza na fullscreen - trzebabedzie teraz popracowac nad fizyka)

    przy okazji moge powiedziec jeszcze ciekawostke zwiazana z optymalizacjami

    mam do wyrasteryzowania taki 'szescian'
    z tysiaca kulek (10x10x10) i co sie okazuje o ile patrzec na niego z jednej strony to
    rasteryzacja trwa 9 ms o ile z
    drugiej to jego rasteryzacja trwa 20 ms

    chyba z godzine nie moglem pojac co jest grane bo kod nie mial jakichs specjalnych
    rozgalezien
    - w koncu zgaduje ze po prostu kulki do rasteryzacji sa poddawane w szybkim
    wypadku od przodu (tak ze ten tzw (poniekad sławny) overdraw jest mniejszy)
    a w wolnym case od tylu - i to naprawde
    (ten spory owerdraw) potrafi zmulic ze 3 razy tak ze da sie zauwazyc np czaowego laga
    :/ (to tez wynika stad ze ja licze tu normalna dopiero po depth tescie tak ze dla
    takiego overdrav moge liczyc np 10
    normalnych zamiast jednej)

    z innej ciekawostki jesli zakomentuja taka to slabo wygladajaca procedure

    inline unsigned dimColor(float f, unsigned color)
    {
    //return 0xffffff;

    float wa = 0.3;
    float wb = 1.0-wa;

    if(f<0.0)
    {
    f=0.0;
    }

    int b = (color&0xff0000)>>16;
    int g = (color&0x00ff00)>>8;
    int r = (color&0x0000ff);

    float b_ = ((float)f*b*wa + b*wb);
    float g_ = ((float)f*g*wa + g*wb);
    float r_ = ((float)f*r*wa + r*wb);

    b = b_;
    g = g_;
    r = r_;

    return rgb(r,g,b);
    }

    ktora tutaj po prostu przyciemnia/rozjasnie kolor dla piksela na samym koncu to
    wspomniane 10 ms z jednej 20 ms z drugiej steje sie 3 milisekundami
    z jednej i 3 milisekundami z drugiej -
    (w sumie nie wiem czemu bo tu overdraw tez
    powinien byc)
    taie male i proste badziewie a konsumuje
    66 %, 82 % czasu ramki - i ciagle tenbeznadziejny problem jak to poprawic by bylo ze
    dwa razy szybsze @$#%@$#@@!

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: