-
Data: 2011-11-02 08:45:22
Temat: Re: simple ray tracing
Od: " " <f...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> dodac; tylko ze zrobilem jeden z najbardziej maskrycznych
> balaganow na małych 400 linijkach kodu tak ze trzebeby
> uporzadowac, w sumie jednak klawe
>
przyspieszylbym to chetnie, ale nie bardzo wiem jak, wielowatkowosc
mimo opini ze to trudne jest tu tak naprawde najprostsza, ale mam
1 procesorowego kompa, nie mam tez dobrej karty do jakichs ew obliczen
na gpu o ile to bys sie wogole dalo zrobic(?); pozostaje sse ale musialbym
chyba napisac procedury w asmie i zlinkowac je ze swoim starym borlandem
- nie wiem czy sie da (?) zwlaszcza ze tak naprawde potrzebuje intrisincow,
jak dodac 'intrisincowo' funkcje w sse z liba - chyba sie nie da
(ew przesiasc sie na gcc pod winde ale nigdy nie uzywalem (?));
potrzebne sa po prostu szybkie intrisincowe funkcje jak
length)float3* v);
normalize(float3* v);
dot(float3* x, float3* v);
cross(float3* x, float3* v);
bo to jest masywnie uzywane w b. prosty sposob jak:
// find intersection point and its normal
//(...)
// get light
lightRay1 = sub(&intersectionPoint, &light1Pos);
lightRay2 = sub(&intersectionPoint, &light2Pos);
lightRay3 = sub(&intersectionPoint, &light3Pos);
float lightRay1length = length(&lightRay1);
float lightRay2length = length(&lightRay2);
float lightRay3length = length(&lightRay3);
float light1fade = linearFade(lightRay1length);
float light2fade = linearFade(lightRay2length);
float light3fade = linearFade(lightRay3length);
normalize(&lightRay1);
normalize(&lightRay2);
normalize(&lightRay3);
//tutaj ew wykrywac cienie - ale skasowalem bo nie wygladaly zbyt ok
float light1 = -dot(&intersectionPointNormal,&lightRay1)*light1fade
;
float light2 = -dot(&intersectionPointNormal,&lightRay2)*light2fade
;
float light3 = -dot(&intersectionPointNormal,&lightRay3)*light3fade
;
//// set pixel
if(light1<0) light1=0;
if(light2<0) light2=0;
if(light3<0) light3=0;
int r = (light1*light1r + light2*light2r + light3*light3r)*255.0;
int g = (light1*light1g + light2*light2g + light3*light3g)*255.0;
int b = (light1*light1b + light2*light2b + light3*light3b)*255.0;
r+=materialr;
g+=materialg;
b+=materialb;
if(r>255) r =255;
if(g>255) g =255;
if(b>255) b =255;
SetPixel(i,j,r,g,b);
toporna vektorowka na wektorch 3d, wszystko jest inline ale nie wiem jak
to przyspieszyc pozatym zeby te funkcje przepisac na SSE
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 02.11.11 17:04 wloochacz
Najnowsze wątki z tej grupy
- 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ą."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-09-20 wrzesień
- 2025-09-20 Łomiarz wychodzi w marcu
- 2025-09-19 Czeladź => Specjalista ds. public relations <=
- 2025-09-19 Warszawa => International Freight Forwarder <=
- 2025-09-19 Warszawa => DevOps Engineer <=
- 2025-09-19 zasieg radaru
- 2025-09-19 JAK nie formułować sprzeciwów w kwestii Strefy w Gazie [Niemcy: Hasło rodem z III Rzeszy]
- 2025-09-19 Zmywarka Bosch SRV55T43EU - awaria
- 2025-09-18 Kuczyński twierdzi że WIBOR nie jest do ruszenia w sądach
- 2025-09-18 Warszawa => Senior Account Manager <=
- 2025-09-18 Warszawa => OSS System Administrator <=
- 2025-09-18 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-09-18 Ostrów Wielkopolski => Specjalista ds. Marketingu Online (PPC) <=
- 2025-09-18 pierwszy tel kupiłem za 1250zł
- 2025-09-17 jak się kupuje elektryczny?