|
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
SZCZUR
żul
Dołączył: 09 Lis 2005
Posty: 603
Przeczytał: 0 tematów
|
Wysł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 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
|
Wysł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 poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
SZCZUR
żul
Dołączył: 09 Lis 2005
Posty: 603
Przeczytał: 0 tematów
|
Wysł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 |
|
|
|
|
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
|