from panda3d._rplight import TagStateManager
The TagStateManager stores a list of
RenderStatesassigned to different steps in the pipeline. For example, there are a list of shadow states, which are applied whenever objects are rendered from a shadow camera.
The Manager also stores a list of all cameras used in the different stages, to keep track of the states used and to be able to attach new states.
This constructs a new
TagStateManager. The #main_cam_node should refer to the main scene camera, and will most likely be base.cam. It is necessary to pass the camera because the C++ code does not have access to the showbase.
applyState(state: str, np: panda3d.core.NodePath, shader: panda3d.core.Shader, name: str, sort: int) → None¶
cleanupStates() → None¶
getMask(container_name: str) → panda3d.core.BitMask32¶
This returns the mask of a given render pass, which can be used to either show or hide objects from this pass.
registerCamera(state: str, source: panda3d.core.Camera) → None¶
This registers a new camera which will be used to render the given pass. The
TagStateManagerwill keep track of the camera and applies all registered states onto the camera with
panda3d.core.Camera.setTagState(). It also applies the appropriate camera mask to the camera, and sets an initial state to disable color write depending on the pass.