direct.showbase.MirrorDemo
import direct.showbase.MirrorDemo
This file demonstrates one way to create a mirror effect in Panda.
Call setupMirror()
to create a mirror in the world that reflects
everything in front of it.
The approach taken here is to create an offscreen buffer with its own camera that renders its view into a texture, which is then applied to the mirror geometry. The mirror’s camera is repositioned each frame with a task to keep it always on the opposite side of the mirror from the main camera.
This demonstrates the basic interface for offscreen render-to-a-texture in Panda. Similar approaches can be used for related effects, such as a remote spy camera presenting its view onto a closed-circuit television screen.
In this example the mirror itself is always perfectly flat–it’s just a single polygon, after all–but small distortions of the mirror surface are possible, like a funhouse mirror. However, the reflection itself is always basically planar; for more accurate convex reflections, you will need to use a sphere map or a cube map.