diff options
Diffstat (limited to 'chickadee/graphics/shader.scm')
-rw-r--r-- | chickadee/graphics/shader.scm | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/chickadee/graphics/shader.scm b/chickadee/graphics/shader.scm index 94c6bfc..1acd3ac 100644 --- a/chickadee/graphics/shader.scm +++ b/chickadee/graphics/shader.scm @@ -26,6 +26,7 @@ #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) #:use-module (gl) + #:use-module (chickadee data bytestruct) #:use-module (chickadee math matrix) #:use-module (chickadee math vector) #:use-module (chickadee math rect) @@ -176,9 +177,8 @@ #:size 8 ; 8 bytes = 2 floats = 1 vec2 #:validator vec2? #:serializer - (let ((unwrap-vec2 (@@ (chickadee math vector) unwrap-vec2))) - (lambda (bv i v) - (bytevector-copy! (unwrap-vec2 v) 0 bv i 8))) + (lambda (bv i v) + (bytestruct-pack! <vec2> ((() v)) bv i)) #:setter gl-uniform2fv #:null (vec2 0.0 0.0)) @@ -187,9 +187,8 @@ #:size 12 ; 12 bytes = 3 floats = 1 vec3 #:validator vec3? #:serializer - (let ((unwrap-vec3 (@@ (chickadee math vector) unwrap-vec3))) - (lambda (bv i v) - (bytevector-copy! (unwrap-vec3 v) 0 bv i 12))) + (lambda (bv i v) + (bytestruct-pack! <vec3> ((() v)) bv i)) #:setter gl-uniform3fv #:null (vec3 0.0 0.0 0.0)) |