-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " " <f...@g...pl>
Newsgroups: pl.comp.programming
Subject: Re: simple ray tracing
Date: Wed, 2 Nov 2011 08:45:22 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 79
Message-ID: <j8qvv2$g4e$1@inews.gazeta.pl>
References: <6...@s...googlegroups.com>
<j8btf4$hv5$1@node2.news.atman.pl>
<f...@n...googlegroups.com>
<j8dgas$474$1@node2.news.atman.pl>
<c...@a...googlegroups.com>
<4...@p...googlegroups.com>
<j8e70u$5vh$1@inews.gazeta.pl> <o...@a...home>
<j8ejfl$c33$1@inews.gazeta.pl> <o...@a...home>
<j8etse$d1q$1@inews.gazeta.pl> <o...@a...home>
<j8f51k$55t$1@inews.gazeta.pl> <j8gcve$sel$1@inews.gazeta.pl>
<j8gjq5$frm$1@inews.gazeta.pl> <j8gsvb$97n$1@inews.gazeta.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1320223522 16526 172.20.26.242 (2 Nov 2011 08:45:22 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 2 Nov 2011 08:45:22 +0000 (UTC)
X-User: fir
X-Forwarded-For: 79.162.45.113
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:193350
[ ukryj 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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją