Thread: [Algorithms] Fast SH squaring
Brought to you by:
vexxed72
|
From: Ben Y. <shu...@gm...> - 2009-10-19 05:37:36
|
Hi guys, I've been catching up on some of the global illumination literature recently, and I found the SH exponentiation paper by Ren et al especially interesting. There's one paragraph however where it's mentioned that "SH squares are also cheaper than general SH products" (ie, computing F * F is more efficient than F * G), but which is not elaborated on. Sadly, the details are not immediately obvious to me. Can someone shed some light on how and why? Apparently, this is efficient enough to compute in the GPU (unlike a general SH triple product). Thanks, Ben Yeoh |
|
From: <chr...@pl...> - 2009-10-19 18:15:10
|
Ben Yeoh wrote: > There's one paragraph however where it's mentioned that "SH squares > are also cheaper than general SH products" (ie, computing F * F is > more efficient than F * G), but which is not elaborated on. Sadly, > the details are not immediately obvious to me. Can someone shed some > light on how and why? Apparently, this is efficient enough to > compute in the GPU (unlike a general SH triple product). Googling for "sh squaring" http://www.google.com/search?hl=en&ie=UTF-8&q=%22sh+squaring%22&btnG=Search returns exactly ONE hit. Christer Ericson, Director of Tools and Technology Sony Computer Entertainment, Santa Monica |
|
From: Dan G. <dan...@gm...> - 2009-10-19 18:27:20
|
I implemented the algorithm from that paper, with the help of Peter-Pike Sloan for a yet unreleased replacement of the functions in DX. Would people want to see such a library? cheers DanG On Mon, Oct 19, 2009 at 11:14 AM, <chr...@pl...> wrote: > Ben Yeoh wrote: > >> There's one paragraph however where it's mentioned that "SH squares >> are also cheaper than general SH products" (ie, computing F * F is >> more efficient than F * G), but which is not elaborated on. Sadly, >> the details are not immediately obvious to me. Can someone shed some >> light on how and why? Apparently, this is efficient enough to >> compute in the GPU (unlike a general SH triple product). > > Googling for "sh squaring" > > http://www.google.com/search?hl=en&ie=UTF-8&q=%22sh+squaring%22&btnG=Search > > returns exactly ONE hit. > > > Christer Ericson, Director of Tools and Technology > Sony Computer Entertainment, Santa Monica > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list > -- Dan Glastonbury, Dan dot Glastonbury at gmail dot com `Pour encourjay lays ortras' |
|
From: Ben Y. <shu...@gm...> - 2009-10-20 11:52:50
|
I did have cursory look at the code generation techniques that was presented in that paper before, but I guess I was looking (hoping?) for a more obvious or fundamental approach to factorizing SH squares that I overlooked. Having said that, if anyone would like to share code or tips on this topic, I for one would be most interested ... |
|
From: Bert P. <be...@bp...> - 2009-10-21 23:07:01
|
Dan Glastonbury schreef: > I implemented the algorithm from that paper, with the help of > Peter-Pike Sloan for a yet unreleased replacement of the functions in > DX. Would people want to see such a library? No, of course not :) Seriously though, in what context is this problem popping up? I thought most projects are 2nd order, 9 coefficients, which is both good enough and plenty fast to evaluate. Are people going with much higher orders these days, or have SH's been pushed into a new and much more expensive application, or what's up? bert |
|
From: Dan G. <dan...@gm...> - 2009-10-21 23:50:23
|
I was originally encouraged by Christer Ericson to write a replacement. I was interested in doing SH projection on PS3 for cover/threat analysis masking for game. I was inbetween jobs at the time and I wrote most of the first implementation on the plane trip because I wanted to understand how SH worked. There's no real API, just a mess of functions for orders 3, 4, 5 and 6. My plan was to put the work in the Public Domain since it was just an implementation of data that is publicly available. The only thing I used was some data for the triple tensor product that Peter-Pike Sloan gave me. But that's only needed for the code generator (I implemented the algorithm in Snyder's paper) I was originally going to make this the subject of a series of blog posts, but I can't find the energy to write it up and it was over a year ago, so I've probably forgotten most of the details. cheers DanG On Wed, Oct 21, 2009 at 1:09 PM, Bert Peers <be...@bp...> wrote: > Dan Glastonbury schreef: >> I implemented the algorithm from that paper, with the help of >> Peter-Pike Sloan for a yet unreleased replacement of the functions in >> DX. Would people want to see such a library? > > No, of course not :) > > > Seriously though, in what context is this problem popping up? I thought > most projects are 2nd order, 9 coefficients, which is both good enough > and plenty fast to evaluate. Are people going with much higher orders > these days, or have SH's been pushed into a new and much more expensive > application, or what's up? > > > bert > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > GDAlgorithms-list mailing list > GDA...@li... > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list > -- Dan Glastonbury, Dan dot Glastonbury at gmail dot com `Pour encourjay lays ortras' |
|
From: Ben Y. <shu...@gm...> - 2009-10-22 08:39:05
|
On Thu, Oct 22, 2009 at 4:09 AM, Bert Peers <be...@bp...> wrote: > > Seriously though, in what context is this problem popping up? > > Basically, I am trying to evaluate a better approximation to an SH exponential, as recommended by the paper I mentioned earlier. I'm getting some wierd ringing artifacts with just the OL approach even with 1 sphere blocker that is probably approximation error. Or it could be just due to some random stupidity on my part - although I've checked my stuff and it looks like it's in order. Anyway, that is a subject for another thread... Also, I'm doing all the computations per-pixel in the GPU, with 16 coefficents (4th order... or is that 3? :)) so a more efficient scheme than a general triple-product would be indispensable to an application that is already very very very fill-rate bound. Ben |