summaryrefslogtreecommitdiff
path: root/chickadee/render/gpu.scm
diff options
context:
space:
mode:
Diffstat (limited to 'chickadee/render/gpu.scm')
-rw-r--r--chickadee/render/gpu.scm8
1 files changed, 8 insertions, 0 deletions
diff --git a/chickadee/render/gpu.scm b/chickadee/render/gpu.scm
index 3974c68..e01486d 100644
--- a/chickadee/render/gpu.scm
+++ b/chickadee/render/gpu.scm
@@ -37,6 +37,7 @@
gpu-glsl-version
gpu-blend-mode
gpu-depth-test
+ gpu-stencil-test
gpu-framebuffer
gpu-shader
gpu-texture
@@ -45,6 +46,7 @@
gpu-viewport
set-gpu-blend-mode!
set-gpu-depth-test!
+ set-gpu-stencil-test!
set-gpu-framebuffer!
set-gpu-shader!
set-gpu-texture!
@@ -100,6 +102,7 @@ from the GPU's memory."
glsl-version
blend-mode
depth-test
+ stencil-test
framebuffer
shader
textures
@@ -112,6 +115,7 @@ from the GPU's memory."
(glsl-version gpu-glsl-version)
(blend-mode %gpu-blend-mode)
(depth-test %gpu-depth-test)
+ (stencil-test %gpu-stencil-test)
(framebuffer %gpu-framebuffer)
(shader %gpu-shader)
(textures gpu-textures)
@@ -128,6 +132,7 @@ from the GPU's memory."
;; Lazily resolve bindings to avoid circular dependencies.
(blend-module (resolve-interface '(chickadee render blend)))
(depth-module (resolve-interface '(chickadee render depth)))
+ (stencil-module (resolve-interface '(chickadee render stencil)))
(buffer-module (resolve-interface '(chickadee render buffer)))
(framebuffer-module (resolve-interface '(chickadee render framebuffer)))
(shader-module (resolve-interface '(chickadee render shader)))
@@ -150,6 +155,7 @@ from the GPU's memory."
(make-gpu-state (module-ref blend-module 'apply-blend-mode)
'replace)
(make-gpu-state (module-ref depth-module 'apply-depth-test) #f)
+ (make-gpu-state (module-ref stencil-module 'apply-stencil-test) #f)
(make-gpu-state (module-ref framebuffer-module 'apply-framebuffer)
(module-ref framebuffer-module 'null-framebuffer))
(make-gpu-state (module-ref shader-module 'apply-shader)
@@ -168,6 +174,7 @@ from the GPU's memory."
(define-gpu-getter gpu-blend-mode %gpu-blend-mode)
(define-gpu-getter gpu-depth-test %gpu-depth-test)
+(define-gpu-getter gpu-stencil-test %gpu-stencil-test)
(define-gpu-getter gpu-framebuffer %gpu-framebuffer)
(define-gpu-getter gpu-shader %gpu-shader)
(define-gpu-getter gpu-vertex-buffer %gpu-vertex-buffer)
@@ -180,6 +187,7 @@ from the GPU's memory."
(define-gpu-setter set-gpu-blend-mode! %gpu-blend-mode)
(define-gpu-setter set-gpu-depth-test! %gpu-depth-test)
+(define-gpu-setter set-gpu-stencil-test! %gpu-stencil-test)
(define-gpu-setter set-gpu-framebuffer! %gpu-framebuffer)
(define-gpu-setter set-gpu-shader! %gpu-shader)
(define-gpu-setter set-gpu-vertex-buffer! %gpu-vertex-buffer)