diff options
Diffstat (limited to 'chickadee/graphics/model.scm')
-rw-r--r-- | chickadee/graphics/model.scm | 11 |
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")) |