-
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
- 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ą."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 ROG
- 2025-07-03 OZE dały Polsce więcej prądu niż elektrownie węglowe
- 2025-07-03 Dlaczego nikt nie powiadamia służb!
- 2025-07-02 Jaka ładowarka sieciowa do Iphona?
- 2025-07-02 ,,The Plot to Get RFK" (,,Spisek, by pozbyć się RFK")
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Rozkaz 16-2025: 2025-06-19 Apelacja Do Wyroku Sądu Rej. w Sprawie IVRNs 295-23
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Inżynierowie... inżynierzy...
- 2025-07-02 Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- 2025-07-02 Kto potrafi sprawdzić aku BMW 48V 10Ah Li-Ion do mini hybrydy, czy sprawny ?
- 2025-07-02 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-02 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-02 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-07-02 Warszawa => Inżynier oprogramowania .Net <=