]> git.jsancho.org Git - guile-irrlicht.git/blobdiff - irrlicht/scene.scm
add-static-text!
[guile-irrlicht.git] / irrlicht / scene.scm
index 115d2e856a5d6477ef57435715b5516cacc0b8bd..27f89465e4ae8c88ce54c9c93fbe7c0a248dfc81 100644 (file)
@@ -1,5 +1,5 @@
 ;;; guile-irrlicht --- FFI bindings for Irrlicht Engine
-;;; Copyright (C) 2019 Javier Sancho <jsf@jsancho.org>
+;;; Copyright (C) 2020 Javier Sancho <jsf@jsancho.org>
 ;;;
 ;;; This file is part of guile-irrlicht.
 ;;;
 
 
 (define-module (irrlicht scene)
-  #:export (add-animated-mesh-scene-node!
-            add-camera-scene-node!
-            get-mesh
-            set-material-flag!
-            set-material-texture!
-            set-md2-animation!))
+  #:use-module (oop goops)
+  #:use-module (irrlicht foreign)
+  #:use-module (irrlicht irr))
 
-(load-extension "libguile-irrlicht" "init_guile_irrlicht")
 
-(define irr-add-animated-mesh-scene-node! add-animated-mesh-scene-node!)
-(define* (add-animated-mesh-scene-node! scene-manager mesh
-                                        #:key
-                                        (parent #f)
-                                        (id -1)
-                                        (position '(0 0 0))
-                                        (rotation '(0 0 0))
-                                        (scale '(1 1 1))
-                                        (also-add-if-mesh-pointer-zero #f))
-  (irr-add-animated-mesh-scene-node! scene-manager
-                                     mesh
-                                     parent
-                                     id
-                                     position
-                                     rotation
-                                     scale
-                                     also-add-if-mesh-pointer-zero))
+;; ISceneManager
+(define-class <scene-manager> (<reference-counted>))
 
-(define irr-add-camera-scene-node! add-camera-scene-node!)
-(define* (add-camera-scene-node! scene-manager
-                                 #:key
-                                 (parent #f)
-                                 (position '(0 0 0))
-                                 (lookat '(0 0 100))
-                                 (id -1)
-                                 (make-active #t))
-  (irr-add-camera-scene-node! scene-manager
-                              parent
-                              position
-                              lookat
-                              id
-                              make-active))
+(export <scene-manager>)