summaryrefslogtreecommitdiff
path: root/chickadee/graphics/shader.scm
diff options
context:
space:
mode:
Diffstat (limited to 'chickadee/graphics/shader.scm')
-rw-r--r--chickadee/graphics/shader.scm11
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))