summaryrefslogtreecommitdiff
path: root/chickadee/graphics/model.scm
diff options
context:
space:
mode:
Diffstat (limited to 'chickadee/graphics/model.scm')
-rw-r--r--chickadee/graphics/model.scm11
1 files changed, 7 insertions, 4 deletions
diff --git a/chickadee/graphics/model.scm b/chickadee/graphics/model.scm
index caec045..5228db8 100644
--- a/chickadee/graphics/model.scm
+++ b/chickadee/graphics/model.scm
@@ -905,11 +905,14 @@
(let ((v (or (array-ref/optional obj "emissiveFactor")
#(1.0 1.0 1.0))))
(vec3 (vector-ref v 0) (vector-ref v 1) (vector-ref v 2))))
+ ;; TODO: Sort primitives such that all OPAQUE and MASK
+ ;; objects are drawn first, then draw primitives with
+ ;; BLEND.
(alpha-mode (match (or (string-ref/optional obj "alphaMode")
- "BLEND")
- ("OPAQUE" 'opaque)
- ("MASK" 'mask)
- ("BLEND" 'blend)))
+ "OPAQUE")
+ ("OPAQUE" 0)
+ ("MASK" 1)
+ ("BLEND" 2)))
(alpha-cutoff (or (number-ref/optional obj "alphaCutoff") 0.5))
(double-sided? (boolean-ref/optional obj "doubleSided"))
(extensions (object-ref/optional obj "extensions"))