anchor.diff:      result))
   
   (defun test-cube ()
  -  "Draw a cube."
  +  "Draw a cube, with a depth buffer and backface culling."
     (virgl:with-context (context :name "Test context")
       ;; A cube is made of 8 vertices, formed into 6 faces, made of 2 tris each.
       (let ((test-data '(+0.5 +0.5 +0.5 1.0   ; 0 Position RUF (right upper front)
  
positive.code:                (blend (virgl:make-blend context :colormask :rgba))
                 (rasterizer (virgl:make-rasterizer
                              context
                              :front-ccw t
                              :cull-face :back))
                 (setup-cmd-buf (virgl:make-command-buffer context)))
            ;; Attach scanout surface object to the framebuffer's color0 channel.
            ;; No depth/stencil surface.
            (virgl:add-command-set-framebuffer-state setup-cmd-buf nil scanout-surface)
            ;; Viewport.
            (virgl:add-command-set-viewport-state
             setup-cmd-buf
  
negative.code:                   (make-translate-matrix 0.0 0.0 -1.0)
                    (make-rotate-matrix 1.5 0.5 1.0 (degrees-to-radians i)))))
               ;; Draw
                 (virgl:add-command-draw-vbo cmd-buf 0 (length test-indices) :triangles :indexed t)
               ;; Do it!
                 (virgl:command-buffer-finalize cmd-buf)
                 (virgl:command-buffer-submit cmd-buf)
  