summaryrefslogtreecommitdiff
path: root/chickadee/graphics/buffer.scm
diff options
context:
space:
mode:
Diffstat (limited to 'chickadee/graphics/buffer.scm')
-rw-r--r--chickadee/graphics/buffer.scm22
1 files changed, 12 insertions, 10 deletions
diff --git a/chickadee/graphics/buffer.scm b/chickadee/graphics/buffer.scm
index 37a77e4..3ce1d76 100644
--- a/chickadee/graphics/buffer.scm
+++ b/chickadee/graphics/buffer.scm
@@ -47,6 +47,7 @@
buffer-usage
buffer-data
null-buffer
+ g:buffer
current-buffer
map-buffer!
unmap-buffer!
@@ -85,6 +86,7 @@
vertex-array-attributes
vertex-array-mode
null-vertex-array
+ g:vertex-array
current-vertex-array
render-vertices
render-vertices/instanced
@@ -153,7 +155,7 @@
#:predicate buffer?
#:free free-buffer)
-(define-graphics-state buffer
+(define-graphics-state g:buffer
current-buffer
#:default null-buffer
#:bind bind-buffer)
@@ -207,7 +209,7 @@ never sent to the GPU."
(assert-current-graphics-engine)
;; Weird bugs will occur when creating a new vertex buffer while a
;; vertex array is bound.
- (with-graphics-state! ((vertex-array null-vertex-array))
+ (with-graphics-state! ((g:vertex-array null-vertex-array))
(let ((buffer (%make-buffer (generate-buffer-gl)
name
length
@@ -216,7 +218,7 @@ never sent to the GPU."
usage
#f)))
(graphics-engine-guard! buffer)
- (with-graphics-state! ((buffer buffer))
+ (with-graphics-state! ((g:buffer buffer))
(gl-buffer-data (buffer-target-gl buffer)
length
(if data
@@ -237,7 +239,7 @@ vertex buffer data back to the GPU."
(unless (buffer-mapped? buffer) ;; Don't map a buffer that is already mapped!
(let ((target (buffer-target-gl buffer))
(length (buffer-length buffer)))
- (with-graphics-state! ((buffer buffer))
+ (with-graphics-state! ((g:buffer buffer))
(when (eq? (buffer-usage buffer) 'stream)
;; Orphan the buffer to avoid implicit synchronization.
;; See: https://www.opengl.org/wiki/Buffer_Object_Streaming#Buffer_re-specification
@@ -250,7 +252,7 @@ vertex buffer data back to the GPU."
(define (unmap-buffer! buffer)
"Return the mapped vertex buffer data for BUFFER to the GPU."
- (with-graphics-state! ((buffer buffer))
+ (with-graphics-state! ((g:buffer buffer))
(gl-unmap-buffer (buffer-target-gl buffer))
(set-buffer-data! buffer #f)))
@@ -484,7 +486,7 @@ element is used for 2 instances, and so on."
('double (data-type double))))
(define* (apply-buffer-view buffer-view #:optional attribute-index)
- (with-graphics-state! ((buffer (buffer-view->buffer buffer-view)))
+ (with-graphics-state! ((g:buffer (buffer-view->buffer buffer-view)))
;; If there is no attribute-index, we assume this is being bound for
;; use as an index buffer.
(when attribute-index
@@ -540,7 +542,7 @@ element is used for 2 instances, and so on."
#:predicate vertex-array?
#:free free-vertex-array)
-(define-graphics-state vertex-array
+(define-graphics-state g:vertex-array
current-vertex-array
#:default null-vertex-array
#:bind bind-vertex-array)
@@ -568,7 +570,7 @@ argument may be overridden. The following values are supported:
attributes
mode)))
(graphics-engine-guard! array)
- (with-graphics-state! ((vertex-array array))
+ (with-graphics-state! ((g:vertex-array array))
(for-each (match-lambda
((index . buffer-view)
(apply-buffer-view buffer-view index)))
@@ -589,7 +591,7 @@ argument may be overridden. The following values are supported:
('triangle-fan (begin-mode triangle-fan))))
(define* (render-vertices array #:key count (offset 0))
- (with-graphics-state! ((vertex-array array))
+ (with-graphics-state! ((g:vertex-array array))
(let ((indices (vertex-array-indices array)))
(if indices
(begin
@@ -602,7 +604,7 @@ argument may be overridden. The following values are supported:
(gl-draw-arrays (vertex-array-mode-gl array) offset count)))))
(define* (render-vertices/instanced array instances #:key count (offset 0))
- (with-graphics-state! ((vertex-array array))
+ (with-graphics-state! ((g:vertex-array array))
(let ((indices (vertex-array-indices array)))
(if indices
(begin