summaryrefslogtreecommitdiff
path: root/2d/shader.scm
diff options
context:
space:
mode:
Diffstat (limited to '2d/shader.scm')
-rw-r--r--2d/shader.scm9
1 files changed, 9 insertions, 0 deletions
diff --git a/2d/shader.scm b/2d/shader.scm
index 86fc1e2..fb03439 100644
--- a/2d/shader.scm
+++ b/2d/shader.scm
@@ -8,6 +8,7 @@
#:use-module (figl gl)
#:use-module (figl gl low-level)
#:use-module (2d helpers)
+ #:use-module (2d transform)
#:use-module (2d vector2)
#:use-module (2d color)
#:export (make-shader
@@ -224,6 +225,14 @@ location."
;; vec4s.
(glUniform4f location (vx v) (vy v) 0 0)))
+(register-uniform-setter! transform?
+ (lambda (location t)
+ (let ((pointer
+ (bytevector->pointer
+ (array-contents (transform-matrix t)))))
+ (glUniformMatrix4fv location 1 #f
+ pointer))))
+
(register-uniform-setter! color?
(lambda (location c)
(glUniform4f location