(define-module (irrlicht scene)
- #:export (add-animated-mesh-scene-node
+ #:export (add-animated-mesh-scene-node!
+ add-camera-scene-node!
get-mesh
set-material-flag!
set-material-texture!
(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))
+(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))
+
+(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))