Welcome
Photon Mappern var riktigt jäkla hårig att reda ut och den mesta tiden gick åt att hitta en bra algoritm för att lista ut om strålen var påväg in i glaset eller ut ur. Man behöver lägga på eller subtrahera ett litet värde (epsilon) för att inte strålen ska få en återstuds på samma ställe den träffar.
En annan äcklig sak var att det KD-tree jag använde (edu.wlu.cs.levy.CG.KDTree) itererade över *alla* fotoner i trädet för att hitta närliggande fotoner till en träffpunkt. Jag löste det genom att använda en alternativ metod i API:t där man skickar in en kub och får alla fotoner inom kuben. Därför blir fotonsplasharna på golvet fyrkantiga istället för runda. Tiden för renderingen gick ner mer än 10 ggr med det lilla tricket.
Bilden ovan är renderad med 2 samples per pixel, 16 light samples, 100000 caustic fotoner och 70000 indirekta fotoner utan final gathering.
Anledningen att jag använder indirekta fotoner är en fyrkantig plan reflektor (helvit med Lambertian-material) som studsar ner endel fotoner på akvariet/golvet.
Det är så läckert att jag i princip kan börja beräkna reflektoreffektivitet nu och kanske även PAR/PUR på bottnen, men först vill jag nog modellera lite vatten också.
[2013-4] [2013-3] [2012-5] [2012-3] [2012-1] [2011-12] [2011-8] [2011-5] [2011-4] [2011-3] [2011-2] [2011-1] [2010-12] [2010-11] [2010-10] [2010-9] [2010-8] [2010-7] [2010-6] [2010-5] [2010-4] [2010-3] [2010-2] [2010-1] [2009-12] [2009-11] [2009-10] [2009-9] [2009-8] [2009-7] [2009-6] [2009-5] [2009-4] [2009-3] [2009-2] [2009-1] [2008-12] [2008-11] [2008-10] [2008-9] [2008-8] [2008-7] [2008-6] [2008-5] [2008-4] [2008-3] [2008-2] [2008-1] [2007-12] [2007-11] [2007-10] [2007-9] [2007-8] [2007-7] [2007-6] [2007-5] [2007-4] [2007-3] [2007-2] [2007-1] [2006-12] [2006-11] [2006-10] [2006-9] [2006-8] [2006-7] [2006-6] [2006-5] [2006-4] [2006-3] [2006-2] [2006-1] [2005-12] [2005-11] [2005-10] [2005-9] [2005-8] [2005-7] [2005-6] [2005-5] [2005-4] [2005-3] [2005-2] [2005-1] [2004-12] [2004-11] [2004-10] [2004-9] [2004-8] [2004-7] [2004-6] [2004-5] [2004-4] [2004-3] [2004-2] [2004-1] [2003-12] [2003-11] [2003-10] [2003-9]