/** * Called internally. Updates the render states of this Spatial. The stack contains parent render states. * * @param recurse * true to recurse down the scenegraph tree * @param stateStack * The parent render states, or null if we are starting at this point in the scenegraph. */ protected void updateWorldRenderStates(final boolean recurse, final RenderState.StateStack stateStack) { if (stateStack == null) { // grab all states from root to here. final RenderState.StateStack stack = RenderState.StateStack.fetchTempInstance(); propagateStatesFromRoot(stack); applyWorldRenderStates(recurse, stack); RenderState.StateStack.releaseTempInstance(stack); } else { for (final RenderState state : _renderStateList.values()) { stateStack.push(state); } applyWorldRenderStates(recurse, stateStack); for (final RenderState state : _renderStateList.values()) { stateStack.pop(state); } } }
/** * Called internally. Updates the render states of this Spatial. The stack contains parent render states. * * @param recurse * true to recurse down the scenegraph tree * @param stateStack * The parent render states, or null if we are starting at this point in the scenegraph. */ protected void updateWorldRenderStates(final boolean recurse, final RenderState.StateStack stateStack) { if (stateStack == null) { // grab all states from root to here. final RenderState.StateStack stack = RenderState.StateStack.fetchTempInstance(); propagateStatesFromRoot(stack); applyWorldRenderStates(recurse, stack); RenderState.StateStack.releaseTempInstance(stack); } else { for (final RenderState state : _renderStateList.values()) { stateStack.push(state); } applyWorldRenderStates(recurse, stateStack); for (final RenderState state : _renderStateList.values()) { stateStack.pop(state); } } }