Normally we would wait for the October CVS report we will post at the end of the month, but this item was too cool to keep quiet. Ton recently committed a new type of shadow buffer to the CVS that takes advantage of some very interesting new methods to give Blender greater functionality.
From Ton's explanation:
The classical shadowbuffer - as supported in Blender until now - creates an image with Z values, as seen from a Spot Lamp, and uses these Z values to determine if a shadow gets received. By carefully tweaking the buffer resolution and clipping information you can define the quality of shadows. However, this system always will suffer the limitation of a buffer size, and it has to be calculated for an entire scene in advance, making it not part of the threaded tile-render system.Recently several papers have been published on a successful alternative method. Instead of creating a regular image from the Lamp point of view, it maps all to-be-rendered samples (the image pixels) to "Lamp space", and uses these samples to determine if faces in a scene are casting shadow. This method is called "Irregular Z buffering" because all such samples cannot be simply stored in a regular X-Y grid in Lamp space. Because each sample is individually tested for shadow, it results in crispy and sharp shadows just like for ray-traced shadows. This method now is available in Blender.
A great technical explanation - but what does it mean? What it means is that irregular shadow buffers can be used to produce hard shadows that are as accurate as those produced by a ray tracer or shadow volume-based renderer and we keep the performance advantages of standard shadow mapping. Another bonus is that it allows transparent shadows (through the "Shade A." button in the material panel (along with the shadeless and Env buttons)) of which you can see examples of on the blender.org site.
You can check out this great new feature in the latest CVS build by checking it out in the spotlight's shadow buffer option. You can find a Linux and Windows build on Blenderbuilds.
Windows build from me
Linux build from Rui Campos
31 Comments
Pretty cool!
simple benchmarks of the default scene with a plane under the cube and AA disabled and lamp set to spot.
# Single thread
Raytraced: 2.25sec
BufShadow: 1.26sec (defaults)
Irregular: 1.00sec
no shadows: 0.81sec
# Threads enabled
Raytraced: 1.22sec
BufShadow: 0.76sec (defaults)
Irregular: 0.5sec
no shadows: 0.42sec
Very useful! Thank you very much, Ton!!!
Fantastic!
And thanks very much for the CVS builds.
So that everyone gets the right linux build, its the ones under the "optimized_20061015" folder.
So in other words it's as good as ray traced shadows but take less time to render?
@Everyone
I forgot to mention the transparency aspect of irregular shadow buffers so I added it to the post. So hopefully not too maybe people missed it. You can find that control in the material panel (with the shadless and Env buttons).
@Robin
That's the way I see it :)
Haven't tryed it yet but it looks pretty good. And if anyone can help me on making controls in a simple game please message me.
[email protected]
Thank you.
I've only played with it for five minutes, but they seem like a great addition. Is there any chance of them getting set as the default shadow casting method? Seems silly to incorporate a nice new method and then force users to switch to it every time a new lamp is created. ^_^;
Tryed it it is awesome thank you for this.
Thanks, Ton and the guy who made that paper.
Deadlink:
http://www.blenderbuilds.com/fl_tmp/windows/
I can't download it :(
@Kram1032: It downloads fine here, do you have any sort of Firewall ?
Can anyone do an OS X build of it?
Hmm, no more soft shadows? I rarely use ray shadows anyway, because I dislike sharp shadows. They are too unnatural. No real shadow is perfectly sharp & crisp. Then I read this:
"What doesn't work...
Since this method directly works with the samples of the scanline render system, shadow casted by Irregular Buffers are not visible for ray-traced mirrors, ray-traced transparent or for solid Halos.
Soft shadow is also not possible, nor is 'halo step' possible. "
So, this does not seem to be that useful...
It looks like you can select different types of shadow buffers, one being Irregular Buffers and the other being the other one.
i can see where this could be usefull, places where speed is critical the sharper shadows might be what you want, i think i shall stick with radiocity rendering for now though.
roofoo: your post scared me until I downloaded the build and tried it out. You can still do things the old way. There is a drop down menu that lets you choose between "classical" and "irregular" shadow buffers. The irregular shadow buffers are noticeably faster though.
This is a pretty cool developement. What would be really nice is if we could use buffered shadows with other kinds of lamps.
Great, I just recently rendered an animation but the shadows were all stretched and mutated until around the 40th frame, Maybe this will fix it.
Excelent!!
i'd update my test build for mac on the forums but i'm having trouble accessing CVS, or projects.blender.org for that matter. Odd. Will try tomorrow and post an updated mac ppc build.
@GBOI
You should totally throw that issue in the bug tracker.
@Michael Crawford
If you are making a PPC build I'm sure it would certainly be welcome on the BlenderBuilds site. Would you be up for that?
I don't know what was the matter yesterday, but today it's fine, Thanks!
One Question: what's the difference between the 101406%Blender%20CVS[1].zip and the bl_20061015_sse2_cvs[1].zip?
Both have the same Datas inside, which one shall I install?
Unless Ton is building the framework for something bigger, I fail to see any real advantages to this.
Most of us use spots with buffers to eliminate the horrible hard edged look of raytraced shadows. The transparency is also utterly unrealistic, this simply doesn't happen in real life, and you can't define alpha transparency with textures, which is what a lot of people would have wanted more than any of the current features. Also invisible to rayracing? c'mon...
So it's slightly faster than raytraced shadows, big deal. Im with Roofoo on this.
@Kram1032: bl_20061015_sse2_cvs.zip = Blender CVS build of 15th October 2006 optimized for SSE2 processors.
This build also features Irregular Shadow Buffers as well as another new option wich is Shadow Buffer Halfway, check it out here http://www.blender3d.org/cms/Shadow_buffer__Halfway.786.0.html .
Thanks, that's another good feature! I think, other artist would want that more than the the other feature^^
Ummmm... That's a little OT, but:
You can make games with 3D-Filters (like anagraph...)
Cant you make it avilable for Anims and Pics aswell? That would be nice; The next great Blenderfilm would be able to have ´"true" 3 dimensions^^
I don't know that much about cartoon rondering, but this might have a useful application there. I don't think many photorealistic scenes will be needing this. Eh, we'll see.
hi.
i've created an optimized for G4 Mac OS X blender build from the CVS tree. You can download and play with it from http://blender.edumetrics.org/. Have fun!
have a nice day.yad
jdpf
Yes, it wont be photorealistic, but if you have 3D-glasses, you would be able, to see it in 3^rd dimension, wich would be nice.
cool
blender