On Mon, 2005-04-04 at 16:14 +0200, BJörn Lindqvist wrote: > > Think about it this way: blocking light (and therefore shadows) is a > > special operation that takes CPU cycles. Therefore, it takes some extra > > effort to do it. If everything blocked light by default, things would > > run very slowly. > > Then it is very hard to make indoor levels look correctly in soya if > the lighting isn't affected by the geometry. Atleast Crystal Space > manages to do this by using lightmaps I think. If other 3d engines can > do this then maybe soya should too? Also please take a look at my > attached example. Both walls are setup to cast shadows but the light > and the shadow still passes through them regardless.
Levels in Crystal Space are collections of zones connected by portals. Each zone must be convex, meaning there are no lines of site that pass through walls of the zone, so having walls block light never becomes an issue. You can have "Things" in zones that can cast shadows, but those shadows are precomputed. Soya supports portals and you could certainly make levels using portals and convex zones, but Soya currently doesn't provide tools to make this easy. There is also TreeShape which kind of like a BSP tree, but the shapifier for TreeShapes currently does not support shadows, so it won't help you. Unreal handles shadows by making the entire zone a BSP tree which casts shadows and allowing you to connect zones with portals to make things even faster. We could do that, but we're not there yet.
signature.asc
Description: This is a digitally signed message part
