public void SetRenderMethodInterface(RenderMethodInterface renderMethod) { // Set the new rendermethod if (renderMethod == null) { m_renderMethodInterface = null; // Do not change the rendermethod type here as we may want to retain that property // for the next time we create a rendermethod m_actorInterface.SetRenderMethod(HVR.Interface.Types.INVALID_HANDLE); } else { m_renderMethodInterface = renderMethod; // Set the rendermethod here to ensure that the type matches the // rendermethod that was just assigned to this actor m_renderMethodType = renderMethod.type; m_actorInterface.SetRenderMethod(m_renderMethodInterface.handle); } // If the suborutinestack has any shaders, we need to set them again after the rendermethod has changed if (m_subroutineStack.GetShaderArray().Length > 0) { m_forceUpdateSubroutines = true; } }