anchor.diff:                           (first viewpoints)
                            (make-instance 'Viewpoint))))
         (run BACKGROUND)
  +      (gl:matrix-mode :modelview)       ; model-view
  +      (gl:with-pushed-matrix
  +        (gl:mult-matrix (run Viewpoint))
  +        (dolist (shape shapes)
  +          (when shape (run shape)))
  +        (dolist (tx transforms)
  +          (when tx (run tx)))))))
  +
  +;; --------------------------------------------------------------------------VR
  +(defmethod run ((self VR))
  +  (when *SCENE*
  +    (with-slots (screen head 2d-mouse) (device self)
         (let* ((width (width screen))
                (height (height screen))
                (ipd (iod head))
  
positive.code:                             (* scale top)
                              near
                              far)))
          (gl:load-matrix proj)))))
  
  ;; ----------------------------------------------------------------------------
  (defun model-view (mat eye)
    "Uses the matrix to set the model-view matris"
    (gl:matrix-mode :modelview) ; view
    (cond ((eq eye :right) (gl:draw-buffer :back-right))
          (t (gl:draw-buffer :back-left)))
    (gl:load-identity)
    (gl:mult-matrix mat))
  
  ;; -----------------------------------------------------------------------scene
  (defmethod run ((self Scene))
    (with-slots (backgrounds navigationInfos viewpoints shapes transforms device) self
      (with-slots (screen head 2d-mouse) device
      (let ((BACKGROUND (if (first backgrounds)
                            (first backgrounds)
                            (make-instance 'Background)))
  
negative.code:         (if is-stereo
              (progn
                ;; Left pass
                (projection AlignedEyeLeft<-Screen
                            AlignedEyeLeft<-VWorld
                            width height
                            :eye :left)
                (run *SCENE*)
  
                ;; Right pass
                (projection AlignedEyeRight<-Screen
                            AlignedEyeRight<-VWorld
                            width height
                            :eye :right)
                (run *SCENE*))
              (progn                      ; No stereo (Center Eye)
                (projection AlignedEyeCenter<-Screen
                            AlignedEyeCenter<-VWorld
                            width height
                            :eye :center)
                (run *SCENE*)))))))
  
  ;; ---------------------------------------------------------------------grouping
  (defmethod run ((self Transform))
  