-
1. Data: 2014-02-10 15:17:27
Temat: laczenie raytracingu i rasteryzacji
Od: firr <p...@g...com>
Chyba bede musial zrobic ta rzecz ale nie wiem
jednej rzeczy, mianowicie jesli robie raytracing to
wysylam promienie z ekranu (((dosyc latwo je policzyc
np zakladam ze ekran ma 38 cm szerokosci, 30 cm wysokosci
a moje oko jest 100 cm od niego, wtedy promien dla lewego gornego rogu na poczatek w
(-19,-15,+100) i kierunek
to samo tylko znormalizowane )))
w raytracerze rzutowaniem nie musze sie przejmowac po prostu obliczam zdrzenia
promieni obliczam kolor i tyle
w rasteryzerze z kolei mam wspolrzedne w 3d ktore rzutuje na 2d - aby jedno sie z
drugim zgadzalo (a wlasnie chcialbym sprzac rasteryzacje z raytracingiem) musi byc
pelna zgodnosc, zdaje sie ze lepiej by bylo aby nic tam sie nie rozjerzdzało w
kalkulacjach miedzy obliczaniem punktu jedna a druga metoda. - Prawdopodobnie
rzutowanie pojedynczych wierzcholkow mozna zrobic z prostej proporcji uwzgledniajac
te
wymiary 38 cm 30 cm 100 cm ale powstaje pytanie
czy jak przetransformuje w ten sposob w rasteryzerze
wierzcholki trojkata to jego boki wystarczy polaczyc liniemi prostymi i to sie zgodzi
z obrazem z raytracera
czy tez nie do konca - podobnie z kwestą sfery, (bo chodzi glownie o te dwie rzeczy
trojkaty i sfery)
- z praktyki w raytracerze widze ze nieststy kule w
nim są poniekad znieksztalcane, co jest zapewne sluszne
bo tak ma byc, raytracer nie klamie (trojkatow na razie nie robilem ale spodziewam
sie ze tez beda pewnie znieksztalcone (?) ) *
co z tym zrobic - jak napisac taki rasteryzer by byl
zupelnie zgodny z wynikami raytracerera?
* jesli tak to wogole zachodzi pytanie czy rasteryzery takie jak opengl (ktore chyba
nie obliczaja tych znieksztalcen, nie sa zbudowane na jakims prostszym przeklamujacym
modelu )
-
2. Data: 2014-02-11 15:34:25
Temat: Re: laczenie raytracingu i rasteryzacji
Od: firr <p...@g...com>
link do zaczatka mojego raytracera, teraz
przepisywanego w nowym systemie modulowym
https://dl.dropboxusercontent.com/s/pbwq4js7930rs67/
raytrace2.jpg
http://dl.dropboxusercontent.com/s/bj06cp964c6f9r3/r
e201.zip
b wolny i niezoptymaliowany nie ma cieni ani odbic,
kamere mozna aktywowac kolkiem myszy
ale ew dobra baza do posprawdzania paru rzeczy z grafiki
-
3. Data: 2014-02-17 17:20:19
Temat: Re: laczenie raytracingu i rasteryzacji
Od: Andrzej S <a...@e...pl>
W dniu 2014-02-10 15:17, firr pisze:
...
> np zakladam ze ekran ma 38 cm szerokosci, 30 cm wysokosci
> a moje oko jest 100 cm od niego, wtedy promien dla lewego gornego rogu na poczatek
w (-19,-15,+100) i kierunek
> to samo tylko znormalizowane )))
>...
Nie jestem pewien, czy o to Ci chodzi. Zamiast definiowac promien w
jakichs centymetrach, od razu chwyc wspólrzędne (metryczne) dla kazdego
piksela. Wygeneruj i przesledz tyle promieni, ile pikseli ma Twój ekran.
Mówiac inaczej - wysyłaj promien od oka, przez dany piksel i dalej ku
scenie. Będzie wolno, ale tak uczciwie, jak dany ekran pozwala.
pozdro
--
A S
-
4. Data: 2014-02-17 17:48:16
Temat: Re: laczenie raytracingu i rasteryzacji
Od: bartekltg <b...@g...com>
W dniu 2014-02-17 17:20, Andrzej S pisze:
> W dniu 2014-02-10 15:17, firr pisze:
> ...
>> np zakladam ze ekran ma 38 cm szerokosci, 30 cm wysokosci
>> a moje oko jest 100 cm od niego, wtedy promien dla lewego gornego rogu
>> na poczatek w (-19,-15,+100) i kierunek
>> to samo tylko znormalizowane )))
>> ...
>
> Nie jestem pewien, czy o to Ci chodzi. Zamiast definiowac promien w
> jakichs centymetrach, od razu chwyc wspólrzędne (metryczne) dla kazdego
> piksela. Wygeneruj i przesledz tyle promieni, ile pikseli ma Twój ekran.
Oj, będzie anizotropia i aliasing;)
> Mówiac inaczej - wysyłaj promien od oka, przez dany piksel i dalej ku
> scenie. Będzie wolno, ale tak uczciwie, jak dany ekran pozwala.
Uczciwy (fizycznie) byłby dopiero znaczy ubersampling i filtr sinc.
Ale nikt nie ma na to czasu (obliczeniowego:)
pzdr
bartekltg
-
5. Data: 2014-02-17 17:59:25
Temat: Re: laczenie raytracingu i rasteryzacji
Od: firr <p...@g...com>
W dniu poniedziałek, 17 lutego 2014 17:20:19 UTC+1 użytkownik Andrzej S napisał:
> W dniu 2014-02-10 15:17, firr pisze:
>
> ...
>
> > np zakladam ze ekran ma 38 cm szerokosci, 30 cm wysokosci
>
> > a moje oko jest 100 cm od niego, wtedy promien dla lewego gornego rogu na
poczatek w (-19,-15,+100) i kierunek
>
> > to samo tylko znormalizowane )))
>
> >...
>
>
>
> Nie jestem pewien, czy o to Ci chodzi. Zamiast definiowac promien w
>
> jakichs centymetrach, od razu chwyc wspólrzędne (metryczne) dla kazdego
>
> piksela. Wygeneruj i przesledz tyle promieni, ile pikseli ma Twój ekran.
>
>
>
> Mówiac inaczej - wysyłaj promien od oka, przez dany piksel i dalej ku
>
> scenie. Będzie wolno, ale tak uczciwie, jak dany ekran pozwala.
>
>
nie tojest zrodlem problemu z promieniami sobie
poradzilem - problem jest w zrobieniu poprawnej rasteryzacji kulki - kulka przy
projekcji takiej
jak w rasteryzerze (nie wiem jaka to jest nawet ofizjalna nazwa tej projekcji)
zamienia sie czesto
w elipse- rowniez wartisci z nie sa kuliste
w moim rasteryzerze mam zupelnie kuliste rzutowanie kulki (oparte na dwu
bressenhamach (kod mojego wymyslu) - chodzi o przerobienie tego tak by rasteryuzacja
sceny (chociazby dla kulek ) dawala
wyniki zgodne z jej raytracerowaniem - a 1) nie wiem jak to sie transformuje tj jak
kulka (x,y,z, R)
przychodzi w elipse (x',y', ? ? ?) a 2) jak to pozniej wyrasteryzowac najlepiej
bressenhamem -
moze cos by sie znalazlo w google ale samo szukanie takich trudniejszych rzeczy
zczasami moze trwac z tydzień - tak ze na razie dla mnie chyba nie do zrobienia
-
6. Data: 2014-02-18 07:57:25
Temat: Re: laczenie raytracingu i rasteryzacji
Od: firr <p...@g...com>
> nie tojest zrodlem problemu z promieniami sobie
> poradzilem - problem jest w zrobieniu poprawnej rasteryzacji kulki - kulka przy
projekcji takiej
> jak w rasteryzerze (nie wiem jaka to jest nawet ofizjalna nazwa tej projekcji)
zamienia sie czesto
> w elipse- rowniez wartisci z nie sa kuliste
>
swoja droga prostą projekcje 'odwrotna' do bounding boxów moglbym chyba jednak zrobic
i to dosyc latwo, cos mnie chyba zacmilo bo widzialem w tym jakis problem a teraz
jakos nie widze - chyba przynajmniej to da sie zrobic jak lekko odpoczne