There is no self shadowing in my system.
I didn't realise the city demo wasn't included with the demo download. The system itself includes the city demo. I've updated the demo zip to include the city demo, so if you download it again, you'll get that:
www.seamlesstexturegenerator.com/systems/Swift-Shadow-System-Demo-025.zip
As you can see, you can cast shadows from buildings onto the ground, and onto other buildings. A shadow map is rendered for each building and then used for the ground underneath it and the surrounding buildings. If the shadows overlap then you get darker areas.
Each building here is a seperate shadow casting object. If you combined all the buildings into a single shadow casting object, then the shadow map would probably be too low res. With this setup however, you can have one of the buildings be destroyed, and at that time delete the static shadow it casts, or change the shadow from static, to dynamic, and then animate its destruction with proper shadows.
Static shadows are shadows where the shadow map is rendered once, and then never again, and the shadow polygons are generated once and never again. They're fairly efficient, the cost being one entity and texture per shadow.
I didn't realise the city demo wasn't included with the demo download. The system itself includes the city demo. I've updated the demo zip to include the city demo, so if you download it again, you'll get that:
www.seamlesstexturegenerator.com/systems/Swift-Shadow-System-Demo-025.zip
As you can see, you can cast shadows from buildings onto the ground, and onto other buildings. A shadow map is rendered for each building and then used for the ground underneath it and the surrounding buildings. If the shadows overlap then you get darker areas.
Each building here is a seperate shadow casting object. If you combined all the buildings into a single shadow casting object, then the shadow map would probably be too low res. With this setup however, you can have one of the buildings be destroyed, and at that time delete the static shadow it casts, or change the shadow from static, to dynamic, and then animate its destruction with proper shadows.
Static shadows are shadows where the shadow map is rendered once, and then never again, and the shadow polygons are generated once and never again. They're fairly efficient, the cost being one entity and texture per shadow.