unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* Function set-gl-vertex-array in Guile-opengl
@ 2019-01-25 10:36 Luis Souto Graña
  2019-01-26 10:33 ` Catonano
  0 siblings, 1 reply; 13+ messages in thread
From: Luis Souto Graña @ 2019-01-25 10:36 UTC (permalink / raw)
  To: guile-user

Hello, I'm trying to use the function set-gl-vertex-array in Guile-opengl .
It needs a bytevector as an argument. I wrote this doing a copy-paste from
here: https://github.com/marcomaggi/vicare/blob/master/attic/lab/gears.scm

(use-modules (rnrs bytevectors))
(use-modules (system foreign))

(define (f32vector . lst)
  (define-syntax f32set!
    (syntax-rules ()
      ((_ bv n value)
       (bytevector-ieee-single-native-set! bv (* n 30) value))))
  (let ((bv (make-bytevector (* (length lst) 30))))
    (let loop ((i 0) (lst lst))
      (cond ((null? lst) bv)
        (else
         (f32set! bv i (car lst))
         (loop (+ i 1) (cdr lst)))))))

(define points (f32vector 30.0 30.0 0.0
                      10.0 10.0 0.0
                      70.0 30.0 0.0
                      90.0 10.0 0.0
                      70.0 70.0 0.0
                      90.0 90.0 0.0
                      30.0 70.0 0.0
                      10.0 90.0 0.0
                      30.0 30.0 0.0
                      10.0 10.0 0.0))

> points
#vu8(0 0 240 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 240
.....

> (bytevector-length points)
900

> (bytevector->pointer points)
#<pointer 0x56090d909aa0>


So, it works well.

Now, if I write:

(use-modules (gl) (glut))

> ,apropos set-gl-vertex-array
(gl): set-gl-vertex-array    #<procedure set-gl-vertex-array (type
bv-or-pointer #:optional size #:key stride offset)>


> (set-gl-vertex-array (bytevector->pointer points) 3)

ERROR: In procedure scm-error:
unhandled array-pointer type 3

Can someone tell me what the solution is?


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-02-09 18:59 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.136.1548435627.3559.guile-user@gnu.org>
2019-01-25 18:25 ` Function set-gl-vertex-array in Guile-opengl Daniel Llorens
2019-01-26  1:33   ` Luis Souto Graña
2019-01-26 12:52     ` Daniel Llorens
2019-01-26 12:58       ` Daniel Llorens
2019-01-26 16:05         ` Luis Souto Graña
2019-01-26 15:39           ` Daniel Llorens
2019-01-26 19:00             ` Luis Souto Graña
2019-01-28 13:30             ` Luis Souto Graña
2019-01-31 11:14               ` Luis Souto Graña
2019-02-09 18:59                 ` Luis Souto Graña
2019-01-25 10:36 Luis Souto Graña
2019-01-26 10:33 ` Catonano
2019-01-26 16:02   ` Luis Souto Graña

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).