Jh:
"Does your system draw shadows outside the camera view?"
Yes.
Why? If I did, then if you had a camera in another location in the level the shadows there would be missing.
It is also unlikely that doing so would improve the speed. I cannot clip shadow casters quickly using the camera fustrum or object behind the camera casting shadows in front of it would not display shadows. So I'd have to check all the polygons against even more planes.
It is your job to decide based on your style of game which objects should cast shadows at any paticular time. If you want to turn off shadows for objects far in the distance, you can. But if you need them, the system won't interfere with that. Likewise you can handle multiple camera views elegantly this way. And any occlusion system you write that is custom to your level is going to be faster than any generalized one I could implement.
"Does your system fade shadows in/out as the shadow caster moves closer to/away from the camera?"
No. Nor do shadows dissapear a specific distance from the camera. Shadows only fade as they recede from a light source. It is trivial for you to keep a list of entities yourself in a type and calculate the distance of each from the camera(s) each frame and decide which to diable shadows for.
But bear this in mind if you do that: Make sure you do not turn off all the shadows and then selectively turn on those you want to cast shadows. Only change the state of each object if it needs to be changed. Turning off the shadow for an object would clear any data that is used to optimize shadow texture rendering. Of course, this has no effect on animated meshes, but if you have a car or a segmented mesh that animates then that benefits from that optimization.
"Does your system draw shadows outside the camera view?"
Yes.
Why? If I did, then if you had a camera in another location in the level the shadows there would be missing.
It is also unlikely that doing so would improve the speed. I cannot clip shadow casters quickly using the camera fustrum or object behind the camera casting shadows in front of it would not display shadows. So I'd have to check all the polygons against even more planes.
It is your job to decide based on your style of game which objects should cast shadows at any paticular time. If you want to turn off shadows for objects far in the distance, you can. But if you need them, the system won't interfere with that. Likewise you can handle multiple camera views elegantly this way. And any occlusion system you write that is custom to your level is going to be faster than any generalized one I could implement.
"Does your system fade shadows in/out as the shadow caster moves closer to/away from the camera?"
No. Nor do shadows dissapear a specific distance from the camera. Shadows only fade as they recede from a light source. It is trivial for you to keep a list of entities yourself in a type and calculate the distance of each from the camera(s) each frame and decide which to diable shadows for.
But bear this in mind if you do that: Make sure you do not turn off all the shadows and then selectively turn on those you want to cast shadows. Only change the state of each object if it needs to be changed. Turning off the shadow for an object would clear any data that is used to optimize shadow texture rendering. Of course, this has no effect on animated meshes, but if you have a car or a segmented mesh that animates then that benefits from that optimization.