(define-module (irrlicht bindings video)
#:use-module (system foreign)
+ #:use-module ((irrlicht bindings core) #:prefix ffi-core:)
#:use-module (irrlicht util foreign))
;; E_DRIVER_TYPE enum
(define-foreign get-video-driver-name
'* "irr_video_getName" (list '*))
+
+;; s3dvertex struct
+(define-wrapped-pointer-type s3dvertex
+ s3dvertex?
+ pointer->s3dvertex s3dvertex->pointer
+ (lambda (vertex port)
+ (format port "#<s3dvertex ~x>"
+ (pointer-address (s3dvertex->pointer vertex)))))
+
+(export s3dvertex->pointer)
+
+(define s3dvertex-type
+ (list ffi-core:vector3df
+ ffi-core:vector3df
+ scolor
+ ffi-core:vector2df))
+
+(define-public (make-s3dvertex position normal color t-coords)
+ (pointer->s3dvertex
+ (make-c-struct s3dvertex-type (list position normal color t-coords))))
end-scene
get-fps
get-texture
- get-video-driver-name))
+ get-video-driver-name)
+ #:re-export ((ffi-video:make-s3dvertex . make-s3dvertex)))
(define* (begin-scene driver
#:key