onSessionEnd method

void onSessionEnd()

Implementation

void onSessionEnd() {
  inputSourcesMap.forEach((inputSource,controller) {
    controller.disconnect(controller);
  });

  inputSourcesMap.clear();

  _currentDepthNear = null;
  _currentDepthFar = null;

  // restore framebuffer/rendering state

  state.bindXRFramebuffer( null );
  renderer.setRenderTarget( renderer.getRenderTarget() );

  if ( glFramebuffer != null) gl.deleteFramebuffer( glFramebuffer );
  if ( glMultisampledFramebuffer != null) gl.deleteFramebuffer( glMultisampledFramebuffer );
  if ( glColorRenderbuffer != null) gl.deleteRenderbuffer( glColorRenderbuffer! );
  if ( glDepthRenderbuffer != null) gl.deleteRenderbuffer( glDepthRenderbuffer! );
  glFramebuffer = null;
  glMultisampledFramebuffer = null;
  glColorRenderbuffer = null;
  glDepthRenderbuffer = null;
  glBaseLayer = null;
  glProjLayer = null;
  glBinding = null;
  session = null;

  animation.stop();

  isPresenting = false;
  dispatchEvent(Event(type: 'sessionend'));
}