Just curious if anyone has worked with an engine that uses PRT rendering? If so I'm curious how you go about lighting an environment with it and what it looks like, what are the down falls?
I'm also curious. We don't have this yet, but I've been reading a lot. If you want I can forward you some links.
Answers depend a lot on your tech. Some use a per-vertex solution, some use lightmaps, so that will influence the kind of geometry you want to feed it. Apparently the geom needs to be subdivided fairly evenly.
As I understand it, you feed it whatever lights you want, then your custom preprocessor converts the lights into a set of PRT samples, which are then projected onto the geometry at runtime.
Eric I'd be interested in some screenshots and any games that are in the works that are using it. I'm not at all interested in per vertex anything these days, that shit is painful to work with and I hope I can now avoid it for the rest of my career.
EQ I've read that lights can't move around, but I certainly could be wrong.
Once the GDAlgorithms archive is back online (any day now), try a search therein for PRT and/or SH. Some great threads. https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list
I've been listening in on this list for a couple years, it's game programmers sharing tips/tricks. Lots of it is gibberish to me, but some real gems pop up now and then. Loads of insight into the effects framework behind the art we all make.
Robin Green (SCEA Research) had some interesting diagrams about how PRT can be sampled at increasing levels of completxity, which produces increasingly accurate lighting. I thought it was a cool conceptualization of the math. And I think he had some pictures of multiple bounce lighting too. http://www.research.scea.com/gdc2003/spherical-harmonic-lighting.html
Tom Forsyth explains SH in very clear terms, and talks about how he actually applied it in a game engine. As I understand it, SH is basically a simpler form of PRT. http://home.comcast.net/~tom_forsyth/papers/papers.html
Eric: I thought that i remembered reality engine being able to do moving lights with dynamic PRT, but i cant clarify this atm. Also i seem to remember seeing a tech demo for crysis that showed moving lights with PRT stuff.
You're correct! Some gotchas tho, like no deforming meshes.
The only thing I saw for Crysis was the AO demo movie where they moved a light down a stairwell. Wasn't very obvious though. Shadows looked like they were regular shadows, no softies.
Yeah that shit in crysis is not PRT, it's just ambient occlusion and it looks super "tech demo" if you check out the actual gameplay footage I see no occlusion. They can probably do it with one light and nothing else on screen. Didn't Epic buy the reality guys.
while doing r&d for a gpu accelerated lightmapper I stumbled upon this page (one of the farcry coders, and also working on mental ray). it is an extensive resource and small description (+ link to papers) on tons of graphics topics.
Replies
Answers depend a lot on your tech. Some use a per-vertex solution, some use lightmaps, so that will influence the kind of geometry you want to feed it. Apparently the geom needs to be subdivided fairly evenly.
As I understand it, you feed it whatever lights you want, then your custom preprocessor converts the lights into a set of PRT samples, which are then projected onto the geometry at runtime.
Lights must be static, but surfaces can move.
Lights must be static, but surfaces can move.
[/ QUOTE ]
Not really true, dynamic PRT can be done, tho it is very time consuming to compile the levels and fairly slow to render at runtime.
[edit] Oh nevermind, im tired and i think i read that wrong. Oh well.
Once the GDAlgorithms archive is back online (any day now), try a search therein for PRT and/or SH. Some great threads.
https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list
I've been listening in on this list for a couple years, it's game programmers sharing tips/tricks. Lots of it is gibberish to me, but some real gems pop up now and then. Loads of insight into the effects framework behind the art we all make.
Gary McTaggart from Valve presented a paper with ATI at GDC2004. GDAlgorithms had a helpful dissection of it, do a search in the archives for "PRT HL2." Some nice pictures in the PDF.
http://www2.ati.com/developer/gdc/D3DTutorial10_Half-Life2_Shading.pdf
Robin Green (SCEA Research) had some interesting diagrams about how PRT can be sampled at increasing levels of completxity, which produces increasingly accurate lighting. I thought it was a cool conceptualization of the math. And I think he had some pictures of multiple bounce lighting too.
http://www.research.scea.com/gdc2003/spherical-harmonic-lighting.html
Tom Forsyth explains SH in very clear terms, and talks about how he actually applied it in a game engine. As I understand it, SH is basically a simpler form of PRT.
http://home.comcast.net/~tom_forsyth/papers/papers.html
The only thing I saw for Crysis was the AO demo movie where they moved a light down a stairwell. Wasn't very obvious though. Shadows looked like they were regular shadows, no softies.
http://www.blitzcode.net/3d_1.shtml