Update of /project/cello/cvsroot/cello/kt-opengl In directory clnet:/tmp/cvs-serv20456
Modified Files: ogl-macros.lisp Log Message: Changed: Now using CFFI scheme for defining and using foreign libs.
--- /project/cello/cvsroot/cello/kt-opengl/ogl-macros.lisp 2006/08/21 04:28:29 1.6 +++ /project/cello/cvsroot/cello/kt-opengl/ogl-macros.lisp 2006/08/28 18:37:22 1.7 @@ -33,7 +33,6 @@ (defmacro with-matrix ((&optional load-identity-p) &body body) `(call-with-matrix ,load-identity-p (lambda () ,@body) ',body))
- (defun call-with-matrix (load-identity-p matrix-fn matrix-code) (declare (ignorable matrix-code)) (gl-push-matrix) @@ -98,6 +97,7 @@
(defvar *gl-begun*) (defvar *gl-stop*) + (defmacro with-gl-begun ((what) &body body) `(progn (when (boundp '*gl-begun*) @@ -123,24 +123,19 @@ (gl-translatef (- ,dx)(- ,dy)(- ,dz))))))
(defun kt-opengl-init () - (declare (ignorable load-oglfont-p)) (unless *opengl-dll* - #-mcl (progn - (print "loading open GL/GLU") - (cffi-uffi-compat:load-foreign-library - *gl-dynamic-lib* - :module "open-gl")) - #+mcl - (format t "~&We're on Darwin, so we do not load the OpenGL dynlib explicitely~%.") - #-mcl - (setf *opengl-dll* (cffi-uffi-compat:load-foreign-library *glu-dynamic-lib* - :module "gl-util")) - #+mcl - (setf *opengl-dll* t) - )) + (let ((opengl-loaded-p + (use-foreign-library OpenGL)) + (glu-loaded-p + #+macosx + t ;; on Mac OS X, no explicit loading of GLU needed. + #-macosx + (use-foreign-library GLU))) + (assert (and opengl-loaded-p glu-loaded-p)) + (setf *opengl-dll* t)))))
-(eval-when (load eval) +(eval-when (:load-toplevel :execute) (kt-opengl-init))
(defun glec (&optional (id :anon))