If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
![]() |
|
|
#1 |
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Hey all,
Just wanted to post a quick link to my latest paper entitled "Layered Variance Shadow Maps", to be published/presented at Graphics Interface 2008 this year. The paper and accompanying video can be grabbed from the following URL: http://www.punkuser.net/lvsm/ I apologize for the lack of a spiffy web page yet, but I've been working hard on completing my Masters thesis. In any case, the idea is kind of neat - namely that you can apply monotonic warps to the depth distribution and plug them into Chebyshev's inequality to get different upper bounds on the visibility function, some better than others. The concept of "layered" VSMs is to exploit this fact and effective use a piecewise reconstruction of the visibility function to reduce or eliminate light bleeding. The advantage of the chosen representation is that it scales up the quality of VSMs arbitrarily at a primary cost of the more storage. Because of the chosen representation, only a single sample is needed to evaluate the visibility function at one point (i.e. when shading a pixel) unlike basis-function approaches like Convolution Shadow Maps that require all of the basis coefficients to resolve such a visibility (and thus scale up poorly). Another side advantage is that since each of the pieces represents a smaller depth range, you don't need as much precision, so the technique can be applied to older hardware that may not support fp32 filtering. The other thing contained in the paper is some preliminary work on "Exponential Variance Shadow Maps", as inspired by Marco Salvi's work. The idea is that an exponential warping of the depth distribution is another application of the above idea. In particular it does a great job of eliminating light bleeding while still not suffering from leakage near castors (since we're still using two moments and Chebyshev's inequality, as usual). The other advantage that I mentioned in another thread is that you can also use the "dual" of the exponential warp to eliminate the "non-planar receiver" artifacts that stock Exponential Shadow Maps suffers from. The EVSM results are preliminary (as I said, I'm trying to graduate here, even though research is more fun), but extremely promising. Anyways enjoy the paper and I'd be interested to hear any feedback. My current take is that the most useful application of the layered stuff is just to create a few uniform subdivisions, particularly on hardware without fp32 filtering support. Indeed a 2-layer LVSM using 16-bit per component storage fits nicely into a single texture and uses the same amount of memory as a standard VSM, but filters on a much wider range of hardware and provides a bit of light bleeding reduction "for free". The EVSM stuff is probably the most useful moving forward, although you *really* need fp32 filtering for it to shine, and 4xfp32 shadow maps are probably going to be a bit abusive for a few more years. It's pretty clear to me that the benefits will be worth it down the road though (people said VSMs were impractical not even two years ago now - but they are being used increasingly). Interestingly, layers can be used with other warps, so there might be some other fun to be had there, particularly in the offline rendering world where huge filters are common. Anyways this will be my last paper for now. I'm finishing off my thesis in the next few weeks (a summary of my shadows work mostly), and then I'm off to work at Intel with the ex-Neoptica guys. I'm very much looking forward to the work and the cool opportunities to make a difference in real-time graphics that I expect it will afford in the coming few years Cheers! Andrew Lauritzen PS: Sorry there's no demo yet... particularly embarrassing after Humus posted a cool one today. It needs some cleanup though before I post it publicly and I'm not sure when I'll have the time. The video should give you a good idea of how it works though. PPS: The "_web" version of the paper is the same one with compressed images. Thus if you just want to browse through the paper and results, grab it. If you want to zoom in and see the uncompressed pixels of the 1920x1200 images, grab the big one [Edit] This thread needs more pictures for people who would otherwise not bother to check out the paper... scroll down to find them! Last edited by Andrew Lauritzen; 14-Apr-2008 at 22:50. |
|
|
|
|
|
#2 | |
|
Unknown.
Join Date: Aug 2002
Location: UK
Posts: 4,877
|
Impressive, nice work once again!
Quote:
__________________
Focusing on non-graphics projects in 2013 (but I still love triangles) "[...]; the kind of variation which ensues depending in most cases in a far higher degree on the nature or constitution of the being, than on the nature of the changed conditions." |
|
|
|
|
|
|
#3 |
|
Registered
Join Date: Mar 2008
Posts: 1
|
Really great work. Since from several days ago, I have been finding the paper. Hn, let me study it first. Thank you.
|
|
|
|
|
|
#4 | ||
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
The obvious way to use less memory is to just not bother doing the second "dual" (the -e^(-cx) one). If you have a small "c" or depending on your scene, you may not notice any of the "non-planar" artifacts. In that case you'd be using the exact same amount of memory as VSMs, with the only difference being the warping of the depth function. It seems like using an exp() warp would make sense in most cases with VSM as long as you're using fp32 filtering. I briefly tried to think of ways that we could avoid storing both of the second moments (for the pos/neg exp warps) as well, but I didn't come up with much. Indeed it seems like storing those separately is the key to the whole thing, resulting in two bounds, one of which will usually have a small variance in cases where light bleeding would normally occur. Anyways as I mentioned in the paper, it's preliminary work, but I decided to include it since it's kind of along the same lines as LVSM and "warped VSMs" in general. I'd be really excited if someone decided to follow-up the work and do a "proper" analysis of the various trade-offs between storing one moment and using Chernoff bounds (i.e. ESM) and storing two moments and using a Chebyshev bound, potentially with pos/neg warps (i.e. EVSM). The recent results seem to suggest that there's a lot of low-hanging fruit there, but I just don't have time to pursue it Now to be fair on the memory front though, I rarely find that you need much more than 4x 1024 cascaded shadow maps (and this is at 1920x1200), particularly when you're using shadow MSAA, which makes a *huge* difference. All of the images from my PSVSM thread a while back where using 4x 1024 I believe and the difference between that and 3x 1024 is not large either. Still, using less memory is always better Quote:
Besides, why would we want to do shadow maps any more when we can do ray traced shadows!!! (I'm trying to get in the mood TBH I may not be able to resist combining some of Aaron Lefohn's resolution-matched shadow map stuff together with EVSM or similar, which would result in a totally kick-ass implementation IMHO. In any case there seems to be no shortage of experience or brains in that group, so I'm really looking forward to seeing what they/we come up with across the board |
||
|
|
|
|
|
#5 |
|
Member
Join Date: May 2004
Posts: 192
|
Does this mean that you passed up an opportunity to work for the leading maker of GPUs in favor of x86 and did anyone every accuse you of having your parents do your science project for you in elementary school?
|
|
|
|
|
|
#6 |
|
Unknown.
Join Date: Aug 2002
Location: UK
Posts: 4,877
|
Larrabee's target market is the exact same as NVIDIA's so I'm not sure how x86 or not is really a factor; plus, *for a software person*, it may be more attractive to toy with more flexible hardware even if it means *potentially* lower performance. All IMO and may have nothing to do with Andrew's thought process.
__________________
Focusing on non-graphics projects in 2013 (but I still love triangles) "[...]; the kind of variation which ensues depending in most cases in a far higher degree on the nature or constitution of the being, than on the nature of the changed conditions." |
|
|
|
|
|
#7 |
|
Member
Join Date: May 2004
Posts: 192
|
I was joking about the x86 and his science project. Surely performance and programmability are paramount. Personally I'd want to work for team JHH, but that's me.
|
|
|
|
|
|
#8 | |
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
My thought process was simple actually: I wanted to work with the Neoptica guys Additionally, Larrabee is an exciting architecture for software people, as we have the opportunity to do things that we've had our hands tied on in the past. I don't have any insider information yet, but I'd also expect Intel to make something fairly competitive due in part to their massive size and resource base, but also I have a lot of confidence in the team(s) there . If Matt Pharr, Craig Kolb, Aaron Lefohn, Paul Lalonde, etc. etc. are excited about it, then so am I As some background though, I applied and spoke to quite a number of places in the games and graphics industries and ended up with a lot of options. After deciding that I'd probably be happier in graphics for now, Intel was an obvious option. NVIDIA Research would have been another that I would be interested in, but I wasn't able to get in touch with any of them in time... something to consider down the road in any case. Note that another important factor was being able to stay in Canada - I'll be working on the University of Victoria campus in BC! In addition to being a beautiful place to live, it works well for my wife who teaches outdoor education and we also have family in Victoria. So there were a number of other related factors, but even regardless of those, I'm excited about working with the team at Intel in particular. Anyways this is all extremely off-topic, but I wanted to give a bit of background. I still like NVIDIA/AMD and wish them the best... there just happens to be a great team of guys at Intel that I want to work with. I'm not the type to get overly competitive - I just want to make the best graphics that I can using the tools that I'm given. At Intel, I even have a chance to affect some of those "tool" decisions too But back on topic... LVSM/EVSM ftw |
|
|
|
|
|
|
#9 | |||
|
Unknown.
Join Date: Aug 2002
Location: UK
Posts: 4,877
|
Quote:
Quote:
Quote:
__________________
Focusing on non-graphics projects in 2013 (but I still love triangles) "[...]; the kind of variation which ensues depending in most cases in a far higher degree on the nature or constitution of the being, than on the nature of the changed conditions." |
|||
|
|
|
|
|
#10 |
|
Dangerously Mirthful
Join Date: Feb 2002
Location: Winfield, IN USA
Posts: 15,292
|
Are you guys speaking english?
__________________
Elite Bastards - Adminish “Be polite, be professional, but have a plan to kill everybody you meet.” - General James N. Mattis |
|
|
|
|
|
#11 |
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
|
|
|
|
|
|
#12 | |
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
|
|
|
|
|
|
|
#13 | ||
|
Unknown.
Join Date: Aug 2002
Location: UK
Posts: 4,877
|
Quote:
Just clarifying myself wrt SGX: from a software and architectural perspective, I find it very appealing. From a hardware or consumer POV, I don't have a clue because I don't have any real data on actual implementations of the architecture - but neither do I have any on Larrabee, so I still thought that specific comparison was fair game. Comparing it to competing handheld architectures would be a lot less fair on the other hand unless I had actual data to back it up, which I don't. Certainly overhead is an issue with a MIMD architecture and I'd be very curious to see how they handled it and how it compares in terms of perf/mm² and perf/watt. Quote:
__________________
Focusing on non-graphics projects in 2013 (but I still love triangles) "[...]; the kind of variation which ensues depending in most cases in a far higher degree on the nature or constitution of the being, than on the nature of the changed conditions." |
||
|
|
|
|
|
#14 | |
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
Anyways, LVSMs |
|
|
|
|
|
|
#15 |
|
Member
Join Date: Nov 2007
Location: Santa Clara, CA
Posts: 427
|
Andrew Lauritzen, congrats on the job. Enjoyed the paper, still going to take a few re-reads to completely digest. LVSMs might be very interesting in the context of precomputed "mega-texture style" shadowmaps for static geometry.
Arun, seems to me that you are just going to have to write up your SGX article, to clue the rest of us into what you are seeing there. I'm sure I'm not the only one here who would appreciate reading it. |
|
|
|
|
|
#16 | ||
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
Quote:
|
||
|
|
|
|
|
#17 |
|
Senior Member
|
Arun, please do an article about SGX.
__________________
"Any idea worth a damn is already patented... twice" -Mfa |
|
|
|
|
|
#18 |
|
Tiled
Join Date: Oct 2003
Location: Kings Langley, UK
Posts: 2,675
|
Can't we just say "MIMD scalar" and leave it at that?
An article on SGX would require cooperation with ImgTec, and I'm not sure they're up for spilling the beans (for many reasons). We'll do some digging and try, though, if there's enough interest.
__________________
A major redesign of the core ALU pineapple boomerang fortress. |
|
|
|
|
|
#19 |
|
Unknown.
Join Date: Aug 2002
Location: UK
Posts: 4,877
|
I think the combination of the Img docs and some TI docs *plus patents* could give an interesting article that'd go even a bit beyond "hay guys VLIW MIMD Scalar with TBDR, Load Balancing and PPP functionality and many levels of ALU precision and programmable blending!" - but that'd be a fair bit of work obviously. And honestly I think it'd be a better idea to do that after an article about architecture in general, which would be a lot of work in itself... hmmm... I'll definitely try starting work on the latter soon at least I guess, heh!
__________________
Focusing on non-graphics projects in 2013 (but I still love triangles) "[...]; the kind of variation which ensues depending in most cases in a far higher degree on the nature or constitution of the being, than on the nature of the changed conditions." |
|
|
|
|
|
#20 |
|
Nutella Nutellae
Join Date: Feb 2002
Location: San Francisco
Posts: 4,297
|
Great work Andy!
Have you experimented with the log filtering so far? Maybe there's some hope to have decent quality EVSM in 8 bytes per texel..
__________________
[twitter] More samples, we need more samples! [Dean Calver] The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way |
|
|
|
|
|
#21 |
|
Eric the Half-a-bee
Join Date: Oct 2003
Location: The cat detector van from the Ministry of Housinge
Posts: 2,050
|
It looks awesome. Well done.
|
|
|
|
|
|
#22 | |
|
Junior Member
Join Date: Mar 2008
Posts: 11
|
Hy,
Andrew, your paper is very interesting. Unfortunatly I didn't have time to read it very carefully but I have already some questions/remarks on it First, what about the memory consumption/computation time for omni-directionnal light sources. Naïvely It seems that all is multiplied by six (or two if we use dual-paraboloïd). Next, in the introduction you state that the shadow volumes can't handle alpha textured objects but the paper "Textured Shadow Volumes" adress this limitation. Finally, you write: Quote:
PS: Sorry for my bad english. I'm not very good in my native langage too |
|
|
|
|
|
|
#23 | ||||
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
Quote:
Quote:
Quote:
So sorry for the confusion... I was just joking |
||||
|
|
|
|
|
#24 | ||
|
Junior Member
Join Date: Mar 2008
Posts: 11
|
Quote:
Quote:
|
||
|
|
|
|
|
#25 | |
|
AndyTX
Join Date: May 2004
Location: British Columbia, Canada
Posts: 1,840
|
Quote:
Yup I agree. And if you need more physical accuracy, you can always super-sample the light rays by rendering and accumulating multiple shadow maps from jittered light positions, in the same way that you'd do it with ray traced shadows. Usually overkill IMHO, but certainly a possibility. |
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|