diff options
author | David Thompson <dthompson@member.fsf.org> | 2013-09-05 07:37:53 -0400 |
---|---|---|
committer | David Thompson <dthompson@member.fsf.org> | 2013-09-05 07:37:53 -0400 |
commit | f6eed03342b55a2a843c177822bef13609d81703 (patch) | |
tree | 4f6acc9a709c47a6847e9214541d05533dea4c5c /2d/wrappers | |
parent | 62691c7ccec4773fc20cb3179a04c4d48622b23a (diff) |
Add missing wrappers for glGenTextures and glDeleteTextures.
This should resolve issue #10.
Diffstat (limited to '2d/wrappers')
-rw-r--r-- | 2d/wrappers/gl.scm | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/2d/wrappers/gl.scm b/2d/wrappers/gl.scm index 8360463..108fc75 100644 --- a/2d/wrappers/gl.scm +++ b/2d/wrappers/gl.scm @@ -65,6 +65,25 @@ (re-export (%glTexParameteri . gl-texture-parameter)) + +;;; +;;; 3.8.12 Texture Objects +;;; + +;; TODO gl-are-textures-resident? gl-prioritze-textures + +(define (gl-generate-textures n) + (let ((bv (make-u32vector n 0))) + (%glGenTextures n bv) + (u32vector->list bv))) + +(define (gl-generate-texture) + (car (gl-generate-textures 1))) + +(define (gl-delete-textures textures) + (let ((bv (list->u32vector textures))) + (%glDeleteTextures (u32vector-length bv) bv))) + ;; emacs: (put 'with-gl-bind-texture 'scheme-indent-function 2) (define-syntax-rule (with-gl-bind-texture target id body ...) (begin @@ -73,4 +92,7 @@ ... (%glBindTexture target 0))) -(export with-gl-bind-texture) +(export gl-generate-textures + gl-generate-texture + gl-delete-textures + with-gl-bind-texture) |