From aeb2a61f9d231ef3106f4f25d815d64d2649fbb8 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 24 Jan 2015 11:04:49 -0500 Subject: render: mesh: Add data field. * sly/render/mesh.scm () [data]: New field. --- sly/render/mesh.scm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/sly/render/mesh.scm b/sly/render/mesh.scm index dc1a1ca..7a34ee5 100644 --- a/sly/render/mesh.scm +++ b/sly/render/mesh.scm @@ -44,12 +44,13 @@ ;;; (define-record-type - (%make-vertex-buffer id type attr-size length) + (%make-vertex-buffer id type attr-size length data) vertex-buffer? (id vertex-buffer-id) (type vertex-buffer-type) (attr-size vertex-buffer-attr-size) - (length vertex-buffer-length)) + (length vertex-buffer-length) + (data vertex-buffer-data)) (define (generate-vertex-buffer) (let ((bv (u32vector 1))) @@ -118,11 +119,12 @@ (arb-vertex-buffer-object array-buffer-arb))) (define* (make-vertex-buffer vertices #:optional (index? #f)) - (let ((bv (vertices-bytevector vertices index?)) - (vbo (%make-vertex-buffer (generate-vertex-buffer) - (gl-buffer-type index?) - (attribute-size (vector-ref vertices 0)) - (vector-length vertices)))) + (let* ((bv (vertices-bytevector vertices index?)) + (vbo (%make-vertex-buffer (generate-vertex-buffer) + (gl-buffer-type index?) + (attribute-size (vector-ref vertices 0)) + (vector-length vertices) + bv))) (with-vertex-buffer vbo (glBufferData (vertex-buffer-type vbo) (bytevector-length bv) -- cgit v1.2.3