I’m building a first-person game using Panda3d and I have a question about the proper way to do lighting for a multi-layered scene. By multi-layered, I mean (as of now) the scene is all one model when exported from Blender to .egg, but the scene consists of multiple different “layers” of scenery which should cast shadows onto other parts of the scene. For example, there are cliff-walls, which should cast shadows upon the ground. But, they should also cast shadows upon the other cliff-walls.
The problem is that Panda3d doesn’t seem to support self-shading, or the scene being able to cast shadows upon itself. Or at least, I can’t seem to find anything about it. Everyone seems to be trying to avoid self-shading, but I actually want it in this case.
My solution I have in mind is to separate the scene into many objects, which all have their own models, and all come together to create the whole scene – that way they should be able to cast shadows on other parts of the scene, but this seems like a tedious solution, especially considering how many models I will have to split from the main scene model to get a desirable result.
My question is, is there a much better way to do this, without resorting to such brute-force tactics?
Thank you so much in advance, and I look forward to discussing with you and/or hearing what you have to say. Let me know if I can provide any additional information.
edit: by the way, I want to have both dynamic and baked lighting at once. I know I might have to write my own shader for this but I need it for my game, I think. It’s pretty integral to what I have in mind which involves mechanics where the player needs to manipulate light sources to illuminate the environment.