(normalize-normals #f)
(use-mip-maps #t))
(let ((SMaterial_make (get-irrlicht-proc "SMaterial_make")))
- (make <material>
- #:irr-pointer
- (SMaterial_make #:material-type material-type #:ambient-color ambient-color
- #:diffuse-color diffuse-color #:emissive-color emissive-color
- #:specular-color specular-color #:shininess shininess
- #:material-type-param material-type-param
- #:material-type-param-2 material-type-param-2
- #:thickness thickness #:z-buffer z-buffer #:anti-aliasing anti-aliasing
- #:color-mask color-mask #:color-material color-material
- #:blend-operation blend-operation
- #:polygon-offset-factor polygon-offset-factor
- #:polygon-offset-direction polygon-offset-direction
- #:wireframe wireframe #:point-cloud point-cloud
- #:gouraud-shading gouraud-shading #:lighting lighting
- #:z-write-enable z-write-enable #:backface-culling backface-culling
- #:frontface-culling frontface-culling #:fog-enable fog-enable
- #:normalize-normals normalize-normals #:use-mip-maps use-mip-maps))))
+ (SMaterial_make #:material-type material-type #:ambient-color ambient-color
+ #:diffuse-color diffuse-color #:emissive-color emissive-color
+ #:specular-color specular-color #:shininess shininess
+ #:material-type-param material-type-param
+ #:material-type-param-2 material-type-param-2
+ #:thickness thickness #:z-buffer z-buffer #:anti-aliasing anti-aliasing
+ #:color-mask color-mask #:color-material color-material
+ #:blend-operation blend-operation
+ #:polygon-offset-factor polygon-offset-factor
+ #:polygon-offset-direction polygon-offset-direction
+ #:wireframe wireframe #:point-cloud point-cloud
+ #:gouraud-shading gouraud-shading #:lighting lighting
+ #:z-write-enable z-write-enable #:backface-culling backface-culling
+ #:frontface-culling frontface-culling #:fog-enable fog-enable
+ #:normalize-normals normalize-normals #:use-mip-maps use-mip-maps)))
(export <material> make-material)
video-data
source-rect)))
+(define-method (draw-vertex-primitive-list (video-driver <video-driver>) vertices indices . rest)
+ (let-keywords rest #f
+ ((v-type 'standard)
+ (p-type 'triangles))
+ (let ((drawVertexPrimitiveList (get-irrlicht-proc "drawVertexPrimitiveList" video-driver)))
+ (drawVertexPrimitiveList video-driver vertices indices v-type p-type))))
+
(define-method (end-scene (video-driver <video-driver>))
((get-irrlicht-proc "endScene" video-driver)
video-driver))
(getName video-driver)))
(define-method (get-texture (video-driver <video-driver>) filename)
- (make <texture>
- #:irr-pointer
- ((get-irrlicht-proc "getTexture" video-driver)
- video-driver
- filename)))
+ (let ((getTexture (get-irrlicht-proc "getTexture" video-driver)))
+ (getTexture video-driver filename)))
(define-method (set-material! (video-driver <video-driver>) (material <material>))
(let ((setMaterial (get-irrlicht-proc "setMaterial" video-driver)))
(let ((setTransform (get-irrlicht-proc "setTransform" video-driver)))
(setTransform video-driver state mat)))
-(export <video-driver> begin-scene end-scene get-fps get-name get-texture set-material!
- set-transform!)
+(export <video-driver> begin-scene draw-vertex-primitive-list end-scene get-fps get-name get-texture
+ set-material! set-transform!)
;; S3DVertex
(define (make-vertex3d position normal color tcoords)
(let ((S3DVertex_make (get-irrlicht-proc "S3DVertex_make")))
- (make <vertex3d>
- #:irr-pointer
- (S3DVertex_make position normal color tcoords))))
+ (S3DVertex_make position normal color tcoords)))
(export <vertex3d> get-position make-vertex3d)