Photon Soup Update
rkeene517 writes "Two and a half months ago I posted an article asking for spare computer cycles. I was swamped by emails and volunteers. After the first weeks most dropped out. The die-hards kept running the program and we simulated 45.3 billion photons. The pictures are here. Thanks to all that helped out. I will be submitting the images to SIGGRAPH 2005 and a paper. (P.S. Never post your email address on slashdot. I got 900 emails! ouch.)"
The pictures are here. Thanks to all that helped out. I will be submitting the images to SIGGRAPH 2005 and a paper. (P.S. Never post your email address on slashdot. I got 900 emails! ouch.)" Within 2 months: "The paper got a prize and I would like to thank everyone who participated PS: Never post pictures of photo's on slashdot, my webserver is nothing but photons now"
You'd think that having a previous story on slashdot would kind of suggest getting a server that doesn't fall over because of the /. effect...
Anybody got mirrors of the pics?
Yeah, never post your server address either. Looks like it's already down with only 1 comment!
There are 10 kinds of people in the world; those that understand binary and those that do not.
Try these:p roj.html (site)_ 1_3.zip tracer_1_3.zip (115 KB)_ 1_1.tar.Z tracer_1_3.tar (1.2 MB) (sorry, no compression this time.)
http://freecache.org/http://www.cpjava.net/photon
http://freecache.org/http://www.cpjava.net/tracer
http://freecache.org/http://www.cpjava.net/tracer
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
If he was /.ed before why would he not set up mirrors in anticipation of this event?
I see 45.3 billion photons... but man are they slow! This page is taking forever to load..
http://github.com/gbook/nidb
P.S.: Never post your URL on slashdot! I got 900 hits per second! Ouch!
Comment removed based on user account deletion
I don't think this is possible. AFAIK, one could merge that server with another simlar server composed entirely of anti-matter, but then one would be left with a lot of neutrinos, besides the photons.
You should have posted an article asking for spare servers.
(P.S. Never post your email address on slashdot. I got 900 emails! ouch.)"
Never post your url or you'll get slashdotted !
Hivemind harvest in progress..
read the fucking blurb?
** I will be submitting the images to SIGGRAPH 2005 and a paper.**
the images make a nice addition to the paper.. to show that the technique actually works.
world was created 5 seconds before this post as it is.
Freecache won't cache those because they're under 5Mb, and those aren't the interesting files anyway, we want to see the images.
Never post your email address on slashdot. I got 900 emails!
I remember sending him an email. I also remember mentioning that the methodology (him mailing you the file) as opposed to downloading it or using Java Webstart was not the smarted way to go about doing this.
Finally, I also remember he never sent me an invite even though I asked. Oh well, glad it worked out for him in the long run.
I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.
reading a slashdot article which mentions something about servers i got 900 posts saying "never post your server address on slashdot!" ouch!
I think that's really uncalled for - too little information is included in not just this article, but the original too.
Granted a person needs to protect their work until published, but 'simulating photons' is way too little to give away...
Comment removed based on user account deletion
How difficult could it be to auto-mirror front page stories on
I mean, data-wise, local websites probably take up anything under a 100 Meg, and only go a few pages deep. The rest of it can still link to the outside world, since the probability of people following over 2 pages deep links away from the actual report is small. So the outside server could easily survive, and is not forced to switch servers just because there is ONE spike.
It seems a bit silly to force websites onto larger bandwidth servers because they get linked to from news sites such as these. It's nice for the advancement of broadband, but it's also wastefull in resources most of the time.
With great power comes great electricity bills.
Of course if he was infact only modeling the photons that made it to the lens then the number might be a few hundred times larger.
Thus I dont understand why this page is taking so long to load. If he had just put those photons into the optical fiber carrying my web connection I would have gotten them sooner.
Some drink at the fountain of knowledge. Others just gargle.
well none of us know any more than you can find out by visiting his site. or just wait for the paper, sweetheart.
Computers got 3000 times faster, but Java managed to compensate for 11 years of evolution.
The previous article says:
Year: 1994
Computers: 100 SparcStation 1
Time: 1 month
Photons: 29 billion, 29 billion/month
Now we have:
Year: 2004
Computers: Unknown, supposedly 3000 times faster
Time: 2.5 months
Photons: 45.3 billions, 18 billion/month
If computers are indeed 3000 times faster, or heck, even 100, you should have got 72 billion just out of one of those computers running for the 2.5 months.
Such a story is useless without the images. So here's a temporary mirror for the resulting images of the project:
Photon Rendering Project: image mirror
The mirror won't be up forever.
i just had a look at the pics and it seems someone
has been smoking in that room >:)
Photons mapping is currently used on a small scale in some rendering engines to more accurately simulate light bounces. Its particularly useful at calculating caustics (light getting focused through a transparent medium) which can't be done by the less intensive radiosity systems. This experiment, however, seems to try to render using photon mapping exclusively. Nice idea, though not really practical at the present state of computing, given the graininess of the images and the amount of processing time. The Brazil rendering system (http://www.splutterfish.com/sf/sf_gen_page.php3?p rinter=1&page=brazil) for example, uses photon mapping on a much small scale (usually between 1-10M photons) in combination with raytracing to provide clear, realistic imagery (though not as technically perfect as this example)
"Because Science" is one step from "Because old book". Try "Because of my experiment testing my falsifiable assertion".
All 6 images: http://ca.geocities.com/andy314_1/photons.tar.gz
1 watt-second of light
Otherwise known as 1 joule of light?
It would be useful if the IRS were to offer some kind of tax write-off for use of one's spare computing cycles. I formerly worked in an office where all the desks had networked computers that did...nothing... (except suck down sleep-cycle juice) for twelve to eighteen hours a day, if not 24 hours a day on weekends. Presuming a workaholic who leaves the keyboard alone for eight hours every night (to run to the pharmacy to refill that Provigil prescription?) and crashes on weekends, that's, uh, urm, 88 hours of downtime. Not counting lunch, bathroom breaks, naps, nooners, etc... I kind of wonder what could be accomplished with all this spare (corporate) computing power. It would be thriftful, although perhaps Orwellian on an individual basis, if one could register a CPU with a central gov't agency which could a.) disburse the unused cycles to scientific and commercial endeavors, then b.) give back a modest tax credit. You know--SETI@irs.gov... Is this a truly horrible idea: allowing the Feds (could also be done on a state level--hint, hint, California) unfettered access to your computer? Can't they already get unfettered access if they are all desirous and (legally speaking) puppy-eyed? Having said that I'm therefore pleased that the best-know distributed computing program is out of Berkeley...
I would recommend that the submitter take down the zips and images and reoptimize them as smaller size JPGs. A 650k file is just crazy for the actual image - which is only 512 pixels wide and blurry (due to depth of field effects). Just go into Photoshop, hit "Save for web", and you can resize and change the JPG settings to your hearts content. I got one of the files down to 12k and it looks fine. These are not highly detailed images to start with. .PNG may be the format of choice for geeks worldwide, but I've always thought it was worthless.
Firstly, I'm kind of irritated that the usual slashdot troll crowd expends so much hatred and ignorance on a truly creative project. The technique might not be using OpenGL, DirectX or ATi or NVidia's newest cards, but that is no reason to trash talk a technique that, in a few years time, might revolutionise CGI work in movies.
And in movie production is where this technique will most probably eventually find use. Movie studios have the budget and the server farm equipment to make good use of a time and resource expensive technique such as this.
And they certainly would want to. The images have almost exactly the same quality as grainy 1950's kodacolor or poor images from my 1970's vintage Kodak instamatic. While adding grain to a movie is no problem, most rendering techniques used today produce surfaces that are simply too clean and glass effects that are too clear, and this immediately gets picked up by the human eye, which is very good at subliminally noticing differences in image quality. Tracing the paths of photons and their interaction through and with materials produces images that mimic reality in an excellent way, IMO.
I'm pretty sure that a large cluster, such as the one using Apple's G5s at Virginia tech, running optimised C or C++ code would be able to produce usable footage for movies. And what's more, I'm pretty sure that sooner or later, there will be tools to make this technique more accessable.
It takes more time to download the images from a slashdotted site then actually render them!
\m/
Another rendering system that supports photon mapping is POV-Ray, the Persistance Of Vision Raytracer. Unlike Brazil, it is free, and although it is not Open Source, the source code is available, and you can distribute patches and, with some restrictions, modified versions.
To summarize,
Forward raytracing: traces actual photons through the scene from the light source, reflecting off/refracting through objects in the scene, and through the camera aperture onto the "film". You end up tracing many photons that will never hit the camera, and the results are blurry or grainy unless you use settings that are just impractical with current technology.
Backwards (traditional) raytracing: traces the light paths backwards, out through the camera onto an object in the scene. From there, rays are traced to the lights in the scene to check for shadowing objects. This works pretty well, but can not compute illumination from mirrored reflections or refraction. However, it can compute diffuse reflection, by tracing more rays to find the illumination of the surrounding scene. This is usually slower than scanline rendering, but produces very good results.
Photon mapping: forward raytracing (like that used in this project) is used to build a map of photons deposited on surfaces within the scene, which is then used in the illumination computations when the scene is rendered with backwards raytracing or scanline rendering.
I don't quite get why 45 billion photons is such a big deal. People do iterative photon mapping techniques, where you do 100 million photons each pass, and you do as many passes as you like. If you're using a splatting method this works trivially. 45 billion photons in a good implementation should run in about 1 week on a single P4 machine. I guess I need to read his paper to see what he's doing differently.
Music speeds up when you yawn, but does not change pitch.
Damn, 900 emails? I get that in spam, in just two days.
*poor timothy* *pity party* awwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
"Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/
Download
I reencoded the PNGs, losslessy recompressing it.
The file is around 2.5MB (original was 3.5MB circa).
Bye!
SeqBox
Have a link to a BitTorrent tracker with the images.
You will want 'photon_soup'
Jack
cool program. what's the license on the java source?
You might want to simulate cleaning your camera lens too. ;)
Why was this done in Java? Aren't resource-intensive tasks like this one of the main reasons for C?
Year: 1994 Computers: 100 SparcStation 1 Time: 1 month Photons: 29 billion, 29 billion/month Now we have: Year: 2004 Computers: Unknown, supposedly 3000 times faster Time: 2.5 months Photons: 45.3 billions, 18 billion/monthSaving programmer time is a worthy goal, but if Java slows down the simulation (29 bill./mo. ==> 18 bill./mo.) despite massive hardware advancements, DON'T USE IT!!!!
After finally finding the pictures I was really impressed. Someone noted that rendered images are easily detected by the human eye, but these look like pictures. Granted parts of it are fuzzy, but that is part of what makes it look so real. The actual glass images look very real.
Great job.
hope u used one, if not bad luck.
Don't forget there's diffraction, which means that a multitude of photons need to be spawned for the color range so that a continuous band of diffracted color is produced. In a complete physical simulation, there are many other quantum-based effects which can impact the visual appearance (polarization -- it can produce visible effects when there are many reflections, thin film interference, flourescence, phosphorescence -- incoming light reemitted at different wavelength, and so on). Add to this the fact that photon mapping is a compromise (you trade the graininess of a full MC simulation for smoothness but give up accuracy for bias), and you see that photon mapping is just a rough approximation that looks sort of good but can never create images with 100% realism that will fool those who know what to look for.
"Politicians and diapers must be changed often, and for the same reason."
I mentioned splatting methods, which eliminates the photon mapping problems. Also, diffraction is trivial. You don't spawn extra photons, you just simulate the one you're working on. Everybody simulates that. Phosphorescence and fluorescence are similarly trivial. People have been simulating that for some time. Polarization is a little trickier to implement, but again people have been doing it for years. This doesn't change the 100,000 photons per second figure.
Music speeds up when you yawn, but does not change pitch.
The way photons are traced, and waiting till they hit the camera aperture, is a special case of bidirectional ray tracing, in which the paths starting from the eye have length 0.
This has been described in various papers since 1993, and has nicely been summarized in some recent books on the topic (e.g. http://www.advancedglobalillumination.com/).