Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Ray-Tracing Renderer

 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Twórczość
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
SZCZUR
żul



Dołączył: 09 Lis 2005
Posty: 603
Przeczytał: 0 tematów


PostWysłany: Czw 12:42, 06 Wrz 2007    Temat postu: Ray-Tracing Renderer

nudziło mi sie ostatnio trochę wiec napisałem program do renderingu grafiki przy pomocy ray tracingu i mapowaniu fotonów.



do odpalenia potrzeba .Net 2.0
całość jest renderowana na CPU wiec wystarczy wam nawet grafika SVGA:)
oczywiście nic za darmo potrzeba dobrego procka najlepiej core duo/quadro

--------------------
link:

tu są zdjęcia i program:

[link widoczny dla zalogowanych]

--------------------------------
opis:

preview jest renderowany bez fotonów i wymaga ok 20MB RAM
normalny render jest z fotonami i wymaga ok 700MB RAM :)
ilosc watków warto ustawic na 2x ilosc redzeni
HDR służy do rozjaśniania i ściemniania (nie trzeba ponownie renderowac zeby zeby cos zobaczyc) optymalna wartosc to ok 0.1

------------------------
extra info:
0.3f; - wielkość fotonu
100; - głębokość ray tracingu
1000000; - ilość fotonów
5; - maksymalna ilość odbić fotonów

----------------------------
żeby scena wyglądała naprawdę realnie wypadalo by użyć ok 100M fotonów ale nie mam tyle ramu:)

----------------------------
jak ktos dostanie errora to nich mi wysle jego treść.

EDIT:

poprawiłem troche fotony i teraz juz widac na ziemi refleksy z ścian
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
exeman
Mistrz grilla



Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów

Skąd: znienacka

PostWysłany: Pią 15:04, 07 Wrz 2007    Temat postu:

Genialna sprawa. Ile linii kodu? Z jakich bibliotek korzystales, a co robiles recznie?
Szkoda, ze w dotnecie, bo w jakims natywnym jezyku to by to pewnie sie renderowalo z kilka razy szybciej.

Mozna jakies scenki wczytywac, czy jest na stale ta przykladowa?

Szkoda, ze nie mozna ustalic liczby fotonow i liczby max odbic. Bardzo bym prosil o taki upgrate, bo wtedy moznaby bylo sie fajnie pobawic.

Przydalby sie tez wskaznik postepu.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
SZCZUR
żul



Dołączył: 09 Lis 2005
Posty: 603
Przeczytał: 0 tematów


PostWysłany: Sob 11:04, 08 Wrz 2007    Temat postu:

dodałem źródło : [link widoczny dla zalogowanych]
możecie z nim robić co chcecie

ma 3100 lini kodu

korzystałem tylko z bibliotek win do wyświetlania okienka, matematyka i cala reszta jest moja.

wybrałem .net żeby można to było łatwo przenosić na różne platformy np xbox360/ps3(on ma szanse to renderowac prawie w real time)

wskaźnik postępu jest (niedokładny) ale dopiero po stworzeniu mapy fotonow

interesujące miejsca w kodzie:

RayTracingRenderer.cs:

na koncu pliku

static float PhotonRadius = 0.7f; //wielkość fotonow, im wieksze tym oswietlenie gładsze, im mniejsze tym bardziej pixelowate ale dokladniejsze
int m_maxRaytracingDepth = 100; //głębokość ray tracingu, czyli ile zobaczymy odbic w lusterkach
int m_photonCount = 1000000; //ilosc fotonow
int m_photonBouncesCount = 5; //ile razy sie foton odbija
Color m_photonDiscardColor = new Color(0.1f, 0.1f, 0.1f, 1.0f); //jak kolor fotonu zejdzie poniżej tego poziomu to go zabijamy


Scene.cs:

w konstruktorze:

public Scene()
{
CreateScene1();
}

wejdz do SceneCreate1() i tam zobaczysz jak sie definiuje scene


a tak w ogóle to kodowalem to dla zabawy, zainspirowało mnie to:
[link widoczny dla zalogowanych]
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Twórczość Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin