diff options
Diffstat (limited to '2d/shader.scm')
-rw-r--r-- | 2d/shader.scm | 9 |
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 |