- 
Data: 2011-10-28 16:30:53
 Temat: Re: simple ray tracing
 Od: "Jordan Szubert" <u...@j...us.to> szukaj wiadomości tego autora
 [ pokaż wszystkie nagłówki ]Dnia 28-10-2011 o 17:58:46 <f...@g...pl> napisał(a): 
 
 > Dnia 28-10-2011 o 14:26:07 <f...@g...pl> napisał(a):
 >
 >> kwestia tylko jak dodawac do siebie kolory swiatel?
 >
 >> ja robie to +- tak:
 >
 >> light_intensity_from_both_lights=light_intensity_fro
 m_light1+light_intensity_
 >> from_light2;
 >
 >> value_to_display=I2D(light_intensity_from_both_light
 s)
 >
 >> float I2D(float i){
 >> return pow(i/(i+1.0),1/2.2);//moze i nierealistyczne, ale
 >> intensywnosc
 >> swiatla jest w zakresie 0-+inf, a wyjscie 0-1
 >> }
 >
 > ok pomysle ew o czyms podobnym, trzababy poczytac troche
 > jakiejs dobrej teorii; a jak opisujesz scene? - pewnie
 > masz tam jakas funkcyjke do sprawdzania przeciec raya
 > z trojkatem albo czyms podobnym, nie masz gdzies pod reka
 > aby podrzucic? mysle ze jakbym zrobil jakas prostopadloscienna
 > ;wieżę; i swiatlo krążace dookoła niej to mógłby sie może
 > rzucać fajny cień i moze fajnie by wygladało
 
 w tym potworku co se klecilem, i ktory paro-obiektowa scene renderuje do
 320x240 w 15s na 3 watkach obliczeniowych na i5 2410M, mam w tym stylu:
 
 
 //pseudokod podobny do C#
 struct V3{ float x,y,z; }
 struct I3{ float r,g,b; }//intensywnosc swiatla, licznosc fotonow
 struct Ray{ V3 start,dir; }
 struct Pair<T1,T2>{
 T1 f;
 T2 s;
 }
 delegate Pair<I3,Pair<Ray,I3>[]> Continuation();
 interface Element{
 Pair<float,Continuation>? Intersect(Ray r);
 }
 struct PointLight{
 V3 location;
 I3 intensity;
 }
 class Scene{
 Element[] elemets;
 PointLight[] lights;
 Camera cam;
 }
 
 IMO najciekawszym kawalkiem jest interfejs Element:Intersect zwraca null,
 jesli polprosta Ray nie przecina obiektu, w przeciwnym wypadku pierszym
 element pary, okresla ze przeciecie
 wystepuje w ,,momencie'' t, czyli punkt preciecia jest w start+t*dir,
 drugi element pary to to funkcja zwracajaca pare: ile swiatla leci do
 kamery z zrodel swiatla po odbiciu/rozproszeniu, zas drugi element to
 tablica par: promienie potomne i przez co zalezy przemnozyc ich
 intensywnosc (dzieki temu mozliwe bedzie zaimplementowanie lusta
 polprzepuszcalnego jako klasy implementujacj interfejs Element, jakos +-
 tak:
 
 class PolLustro{
 V3 N();//normalna
 Pair<float,Continuation>? Intersect(Ray r){
 if(nie ma przeciecia)
 return null;
 t=...;//
 return new Pair(t,()=>{
 rd=reflect(r.dir,N());
 X=r.start+r.dir*t;
 return new Pair(new I3(0,0,0),new Pair<Ray,I3>[]{
 new Pair<Ray,I3>(new Ray(X,r.dir),new I3(0.5,0.5,0.5)),//promien
 przepuszczony
 new Pair<Ray,I3>(new Ray(X,rd),new I3(0.5,0.5,0.5)),//promien odbity
 });
 });
 }
 }
 trojkatow akurat nie mam, Elementy tu nieskonczona szachownica,
 prostopadloscian rownolegly do osi X,Y,Z, sfera, elipsa i portal: para
 rownoleglobokow, jak promien trafia w jeden z nich, to promien potomny
 wylatuje z drugiego...
 
 konkretna implementaja nie bede na razie straszyl...
 
 --
 Jordan Szubert
 
Następne wpisy z tego wątku
- 28.10.11 18:56
- 28.10.11 19:38 Jordan Szubert
- 28.10.11 20:58
- 28.10.11 21:22 Wojciech \"Spook\" Sura
- 28.10.11 22:18
- 29.10.11 04:22 Jacek
- 29.10.11 07:32 Karol Y
- 29.10.11 07:34
- 29.10.11 07:59
- 29.10.11 08:19
- 29.10.11 10:16
- 29.10.11 12:52
- 30.10.11 14:00 Jacek
- 30.10.11 14:43
- 30.10.11 14:48 Jacek
Najnowsze wątki z tej grupy
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-10-31 Warszawa => Starszy Konsultant SAP - obszar PP <=
- 2025-10-31 Zamek elektroniczny
- 2025-10-31 Warszawa => Sales Assistant <=
- 2025-10-31 Warszawa => Senior SAP Consultant - PP area <=
- 2025-10-31 Warszawa => Junior Rekruter <=
- 2025-10-31 Warszawa => Engineering Manager (doświadczenie w branży lotniczej lu
- 2025-10-30 Był neosędzia w składzie jest cofka w apelacji [dożywocie za potrójne zabójstwo]
- 2025-10-30 Warszawa => Lead SAP PP Consultant <=
- 2025-10-30 Poznań => Konsultant SAP HCM <=
- 2025-10-30 Warszawa => Junior Rekruter <=
- 2025-10-30 Warszawa => Senior SAP Consultant - PP area <=
- 2025-10-30 Zakrzewo => SAP HCM Consultant <=
- 2025-10-30 Gang przestępców napadających przestępców już rozbity! [CBŚP,media,prawny humor]
- 2025-10-30 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-10-30 Kraków => Production Coordinator / Representant Product Dev <=




![Jak najkorzystniej wysyłać i odbierać przelewy walutowe w EURO [© Production Perig - Fotolia.com] Jak najkorzystniej wysyłać i odbierać przelewy walutowe w EURO](https://s3.egospodarka.pl/grafika2/przelewy-bankowe/Jak-najkorzystniej-wysylac-i-odbierac-przelewy-walutowe-w-EURO-205900-150x100crop.jpg) 
 
![Jak zwiększyć otwieralność mailingu? 6 sposobów na wysoki Open Rate [© jakub krechowicz - fotolia.com] Jak zwiększyć otwieralność mailingu? 6 sposobów na wysoki Open Rate](https://s3.egospodarka.pl/grafika2/mailing/Jak-zwiekszyc-otwieralnosc-mailingu-6-sposobow-na-wysoki-Open-Rate-222959-150x100crop.jpg) 
![Jaki podatek od nieruchomości zapłacą w 2026 r. właściciele mieszkań i domów? [© wygenerowane przez AI] Jaki podatek od nieruchomości zapłacą w 2026 r. właściciele mieszkań i domów?](https://s3.egospodarka.pl/grafika2/podatki-i-oplaty-lokalne/Jaki-podatek-od-nieruchomosci-zaplaca-w-2026-r-wlasciciele-mieszkan-i-domow-268193-150x100crop.png) 
 Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei
Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei 
 
 
 
![Milion na koncie? Wystarczyło inwestować po około 2 tysiące miesięcznie [© wygenerowane przez AI] Milion na koncie? Wystarczyło inwestować po około 2 tysiące miesięcznie](https://s3.egospodarka.pl/grafika2/oszczedzanie-pieniedzy/Milion-na-koncie-Wystarczylo-inwestowac-po-okolo-2-tysiace-miesiecznie-269397-150x100crop.jpg) 
![Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy [© pixabay] Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy](https://s3.egospodarka.pl/grafika2/rynek-najmu/Wynajem-mieszkania-w-Warszawie-pochlania-44-pensji-Zobacz-jak-wypadamy-na-tle-Europy-269391-150x100crop.jpg) 
![Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie? [© wygenerowane przez AI] Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie?](https://s3.egospodarka.pl/grafika2/prawa-pasazera/Lot-z-niespodzianka-jak-overbooking-zmienia-podroz-i-jakie-prawa-maja-pasazerowie-269384-150x100crop.jpg) 
![Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu [© wygenerowane przez AI] Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu](https://s3.egospodarka.pl/grafika2/lider/Lider-z-sercem-empatia-i-zaufanie-jako-klucz-do-sukcesu-zespolu-269133-150x100crop.png) 
![Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam? [© wygenerowane przez AI] Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam?](https://s3.egospodarka.pl/grafika2/AI/Banka-AI-za-5-bilionow-dolarow-Kiedy-inwestorzy-powiedza-sprawdzam-269382-150x100crop.png) 
 


