]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - examples/03.CustomSceneNode.scm
draw-vertex-primitive-list
[guile-irrlicht.git] / examples / 03.CustomSceneNode.scm
index 46e35fd1cd44d57d636cd4937d2097d41c52620d..21e5be80edf07a0f66c55774e57c151de2d2b482 100644 (file)
                         #:lookat '(0 0 0))
 
 ;; create our custom scene node
-(define box (make-aabbox3df))
+(define box (make-box3d))
 (define vertices
-  (list (make-s3dvertex '(0 0 10) '(1 1 0) '(255 0 255 255) '(0 1))
-        (make-s3dvertex '(10 0 -10) '(1 0 0) '(255 255 0 255) '(1 1))
-        (make-s3dvertex '(0 20 0) '(0 1 1) '(255 255 255 0) '(1 0))
-        (make-s3dvertex '(-10 0 -10) '(0 0 1) '(255 0 255 0) '(0 0))))
+  (list (make-vertex3d '(0 0 10) '(1 1 0) '(255 0 255 255) '(0 1))
+        (make-vertex3d '(10 0 -10) '(1 0 0) '(255 255 0 255) '(1 1))
+        (make-vertex3d '(0 20 0) '(0 1 1) '(255 255 255 0) '(1 0))
+        (make-vertex3d '(-10 0 -10) '(0 0 1) '(255 0 255 0) '(0 0))))
 (define material (make-material #:wireframe #f #:lighting #f))
 
-(aabbox3d-reset! box (vertex-position (car vertices)))
-(for-each (lambda (vertex)
-            (aabbox3d-add-internal-point! box (vertex-position vertex)))
-          (cdr vertices))
+(box3d-reset! box (vertex3d-position (car vertices)))
+(for-each
+ (lambda (vertex)
+   (box3d-add-internal-point! box (vertex3d-position vertex)))
+ (cdr vertices))
 
 (define (custom-render)
   (let ((indices '((0 2 3) (2 1 3) (1 0 3) (2 0 1))))
-    ;;(set-material! driver material)
-    ;;(set-transform! driver 'world (get-absolute-transformation my-node))
-    ;;(draw-vertex-primitive-list driver vertices indices)))
-    #f))
+    (set-material! driver material)
+    (set-transform! driver 'world (get-absolute-transformation my-node))
+    (draw-vertex-primitive-list driver vertices indices)))
 
 (define (custom-get-bounding-box)
   box)
 
 ;; loop
 (define frames 0)
-(while (device-run? device)
+(while (run device)
   (begin-scene driver #:color '(0 100 100 100))
-  (scene-draw-all scene-manager)
+  (draw-all scene-manager)
   (end-scene driver)
 
   (set! frames (+ frames 1))
   (when (= frames 100)
     (let ((fps (get-fps driver))
-          (driver-name (get-video-driver-name driver)))
+          (driver-name (get-name driver)))
       (let ((caption
              (format #f "Irrlicht Engine [~a] FPS:~a" driver-name fps)))
         (set-window-caption! device caption)))
     (set! frames 0)))
 
 ;; delete device
-(device-drop! device)
+(drop! device)
 (exit #t)