(pkey (string->pointer (car color-type)))
(type (cadr color-type))
(index (caddr color-type))
- (pout (make-c-struct (make-list max float) '(0)))
- (pmax (make-c-struct (list unsigned-int) (list max))))
+ (pout (bytevector->pointer (list->f32vector (make-list max 0))))
+ (pmax (bytevector->pointer (list->u32vector (list max)))))
(let ((res (aiGetMaterialFloatArray pmat pkey type index pout pmax)))
(if (< res 0)
res
- (parse-c-struct pout (make-list max float))))))
+ (f32vector->list (pointer->bytevector pout max 0 'f32))))))
(define-public (ai-get-material-integer-array mat color-type max)
(let ((pmat (unwrap-ai-material mat))
(pkey (string->pointer (car color-type)))
(type (cadr color-type))
(index (caddr color-type))
- (pout (make-c-struct (make-list max int) '(0)))
- (pmax (make-c-struct (list unsigned-int) (list max))))
+ (pout (bytevector->pointer (list->s32vector (make-list max 0))))
+ (pmax (bytevector->pointer (list->u32vector (list max)))))
(let ((res (aiGetMaterialIntegerArray pmat pkey type index pout pmax)))
(if (< res 0)
res
- (parse-c-struct pout (make-list max int))))))
+ (s32vector->list (pointer->bytevector pout max 0 's32))))))
;;; Faces