Hi @nick_arthurell,
Actually, there is no “cut off” imposed at all… This is going take a bit of explaining, so please bear with me…I apologize in advance for a lengthy response.
There is a physical limitation that exists in the technique being used in Rhino for shadows…which is “Shadow Mapping”. A “shadow map” is basically the depth buffer of the scene rendered from the point of view of a given light source… The resolution of that map is what determines the fidelity of the shadows…
For example: Suppose an object in the scene only takes up 2-3 pixels in the shadow map…There simply will not be enough information there to provide fine, detailed shadows for that object. Basically, the smaller the portion an object takes up in the shadow map, the worse its shadows will look.
In large scenes, Rhino has to place the light source far enough away in order to get the entire scene into the field of view, which compounds the problem I just mentioned…zooming further out, will cause objects to occupy even fewer pixels in the shadow map. If you select your entire scene and run ZS (zoom selected)…and look at how small your objects appear…that’s how much information Rhino has to work with for casting shadows for those given objects. The end result is that 2-3 pixels in the shadow map yields very sparse and spread out shadows… So in the end, there are shadows in your scene, you just can’t see them because the results are such that they do not impact the final scene very much, if at all. So it might seem like there’s a “cut off”, but there really isn’t.
The “Video memory” slider you show in the screenshot is actually just increasing the size of the shadow map, giving a better chance that objects will occupy more pixels in the map…but the size is limited by hardware texture size requirements…so you can only grow that so much.
This is usually only a problem with directional lights, since they are supposed to be “infinite”, and therefore, one light is supposed to illuminate everything, everywhere. Place a spot light somewhere down on your scene, and you should see shadows…because the spot light shadow map only needs to worry about the objects contained inside its cone of light, and thus a large shadow map will contain all kinds of info for objects in that cone, and therefore produce very fine, detailed shadows.
There are a couple things Rhino tries to supply to help mitigate some of this…
-
Camera based clipping bubble (shown in your screenshot). This tries to limit the “zoom out” of the scene based only on what you currently see in the view…However, it also means that objects outside the field of view (or bubble) will not cast shadows down into the scene (i.e. a tall building off-screen casting a long shadow down into the scene due to a low placed light source). This might not be working on the Mac, but I haven’t heard anything (or checked).
-
There are object properties “Casts shadows” and “Receives shadows”. If you configure an object to not cast shadows, then that object will not be included in the “zoom out” calculations. This can be useful when using a large planar object for the ground, but only have objects occupying a small portion of that plane… At first, Rhino will use that planar object in its calculations, which causes the other objects to lose their shadows (for reasons I mentioned above)…But, if you select the planar object and UNCHECK “Casts shadows” in the Object Properties, Rhino will no longer use it in its calculations, and the other objects will instantly show their shadows. Centralizing groups of objects and turning on/off “Casts shadows” accordingly might help, but if there are still many objects, spread out across large areas, and you want them all to cast shadows, you’re still going to be left with the same problem.
-
The video memory slider I mentioned earlier. By making the internal map larger in size, will produce more information to work with…but that can only go so far, and probably even more limited on the Mac…for other reasons I won’t go into here.
Unfortunately, I don’t think any of those is an option for you, since it looks like there is something everywhere on your “ground”, and you’re trying to get a 10,000 foot level view of your scene…which would still require a pretty big “shadow bubble”.
There are other shadowing techniques that exist to solve things like this (Dual paraboloid, Cascaded Shadow Maps, etc)… But those also have their own set of problems… Probably the best solution for your case, would be projected shadows for a single light source, which is similar to what a Sketchup does. Rhino supports infinite light sources, all casting their own shadows, so there aren’t very many shortcuts that can be had…but if we were to allow limiting shadows to a single light source as an option, then there are all kinds of tricks and shortcuts we can use…which is something that is on the list of things to do, it just hasn’t happened yet.
Lastly, if your scene was partitioned into smaller sections, and then only one section was set to “cast shadows” at a time and the others not… That might help… this is how “cascaded shadow mapping” works, only it tries to do the partitioning automatically, but this might not be a feasible option for what you’re doing.
Long winded response (sorry), but basically, there really isn’t any thing I can suggest (no silver bullet) here other than what I’ve said above to solve your current situation, or this problem in general. It is a limitation in Rhino’s shadowing mechanism that we hope to have a better solution for in the future. Probably not what you wanted to hear, but it’s the reality of the situation.
Thanks,
-Jeff
P.S.
If you send me your scene, I can try to see if there is anything I can come up with that might yield better results.