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.scm64
1 files changed, 32 insertions, 32 deletions
diff --git a/chickadee/graphics/model.scm b/chickadee/graphics/model.scm
index 839ddd1..5e0857e 100644
--- a/chickadee/graphics/model.scm
+++ b/chickadee/graphics/model.scm
@@ -280,7 +280,7 @@
#:mag-filter 'linear
#:flip? #f)))
(loop (cons (cons 'ambient-map texture)
- opts))))
+ opts))))
(("map_Kd" . args) ; diffuse map
(let* ((diffuse-opts (parse-map-args args))
(file (scope-file (assq-ref diffuse-opts
@@ -332,9 +332,9 @@
(loop opts)))))))))
(define (parse-error message args)
(apply error (format #f "OBJ parser error @ ~a:~d: ~a"
- file-name
- (port-line port)
- message)
+ file-name
+ (port-line port)
+ message)
args))
(define (parse-vertex args)
(array-list-push! vertices
@@ -515,21 +515,21 @@
;; Construct vertex array.
;; TODO: Add names to buffers and views.
(let* ((index-buffer (make-buffer mesh-indices #:target 'index))
- (index-view (make-buffer-view #:type 'scalar
- #:component-type 'unsigned-int
- #:buffer index-buffer))
+ (index-view (make-vertex-attribute #:type 'scalar
+ #:component-type 'unsigned-int
+ #:buffer index-buffer))
(data-buffer (make-buffer mesh-data #:stride (* stride 4)))
- (vertex-view (make-buffer-view #:type 'vec3
- #:component-type 'float
- #:buffer data-buffer))
- (texcoord-view (make-buffer-view #:type 'vec2
- #:component-type 'float
- #:buffer data-buffer
- #:offset 12))
- (normal-view (make-buffer-view #:type 'vec3
- #:component-type 'float
- #:buffer data-buffer
- #:offset 20)))
+ (vertex-view (make-vertex-attribute #:type 'vec3
+ #:component-type 'float
+ #:buffer data-buffer))
+ (texcoord-view (make-vertex-attribute #:type 'vec2
+ #:component-type 'float
+ #:buffer data-buffer
+ #:offset 12))
+ (normal-view (make-vertex-attribute #:type 'vec3
+ #:component-type 'float
+ #:buffer data-buffer
+ #:offset 20)))
(make-primitive material
(make-vertex-array
#:indices index-view
@@ -725,7 +725,7 @@
(else
(make-bytevector length)))))
data))
- (define (parse-buffer-view obj i buffers index-ids)
+ (define (parse-vertex-attribute obj i buffers index-ids)
(let ((name (string-ref/optional obj "name"))
(data (vector-ref buffers (number-ref obj "buffer")))
(offset (or (number-ref/optional obj "byteOffset") 0))
@@ -745,7 +745,7 @@
#:length length
#:stride stride
#:target target)))
- (define (parse-accessor obj buffer-views)
+ (define (parse-accessor obj vertex-attributes)
(define (type-length type)
(match type
('scalar 1)
@@ -758,7 +758,7 @@
(let ((name (or (string-ref/optional obj "name") "anonymous"))
(view (match (number-ref/optional obj "bufferView")
(#f #f)
- (n (vector-ref buffer-views n))))
+ (n (vector-ref vertex-attributes n))))
(offset (or (number-ref/optional obj "byteOffset") 0))
(component-type (match (number-ref obj "componentType")
(5120 'byte)
@@ -794,13 +794,13 @@
(display "glTF: sparse accessors currently unsupported"
(current-error-port))
(newline (current-error-port)))
- (make-buffer-view #:name name
- #:buffer view
- #:offset offset
- #:component-type component-type
- #:normalized? normalized?
- #:length length
- #:type type)))
+ (make-vertex-attribute #:name name
+ #:buffer view
+ #:offset offset
+ #:component-type component-type
+ #:normalized? normalized?
+ #:length length
+ #:type type)))
(define (texture-filter n)
(match n
(9728 'nearest)
@@ -1056,11 +1056,11 @@
(parse-buffer obj))
(or (assoc-ref tree "buffers") #())))
(indices (index-ids tree))
- (buffer-views (vector-map (lambda (obj i)
- (parse-buffer-view obj i buffers indices))
- (or (assoc-ref tree "bufferViews") #())))
+ (vertex-attributes (vector-map (lambda (obj i)
+ (parse-vertex-attribute obj i buffers indices))
+ (or (assoc-ref tree "bufferViews") #())))
(accessors (vector-map (lambda (obj i)
- (parse-accessor obj buffer-views))
+ (parse-accessor obj vertex-attributes))
(or (assoc-ref tree "accessors") #())))
(images (or (assoc-ref tree "images") #()))
(samplers (or (assoc-ref tree "samplers") #(())))