[cells-cvs] CVS update: cell-cultures/cl-opengl/cl-opengl.lisp cell-cultures/cl-opengl/gl-def.lisp cell-cultures/cl-opengl/gl-functions.lisp cell-cultures/cl-opengl/glut-extras.lisp cell-cultures/cl-opengl/ogl-macros.lisp cell-cultures/cl-opengl/ogl-utils.lisp

Kenny Tilton ktilton at common-lisp.net
Fri Oct 1 04:01:38 UTC 2004


Update of /project/cells/cvsroot/cell-cultures/cl-opengl
In directory common-lisp.net:/tmp/cvs-serv2293/cl-opengl

Modified Files:
	cl-opengl.lisp gl-def.lisp gl-functions.lisp glut-extras.lisp 
	ogl-macros.lisp ogl-utils.lisp 
Log Message:
A couple of simple fixes to get the pixel and texture wands (GraphicksMagic stuff) working again and now Cello is pretty much back in business.
Date: Fri Oct  1 06:01:29 2004
Author: ktilton

Index: cell-cultures/cl-opengl/cl-opengl.lisp
diff -u cell-cultures/cl-opengl/cl-opengl.lisp:1.2 cell-cultures/cl-opengl/cl-opengl.lisp:1.3
--- cell-cultures/cl-opengl/cl-opengl.lisp:1.2	Sun Jul  4 20:59:45 2004
+++ cell-cultures/cl-opengl/cl-opengl.lisp	Fri Oct  1 06:01:29 2004
@@ -58,7 +58,7 @@
     #:ups #:ups-most #:ups-more #:downs #:downs-most #:downs-more #:farther #:nearer
     #:ogl-texture-delete #:ogl-texture-gen #:ogl-tex-gen-setup
     #:ogl-bounds #:ogl-scissor-box #:ogl-raster-pos-get
-    #:ogl-pen-move #:ogl-pen-init #:ogl-pen #:ogl-pen-x #:ogl-pen-y
+    #:ogl-pen-move #:with-bitmap-shifted
     #:texture-name #:ogl-list-cache #:ogl-lists-delete
     #:eltgli #:ogl-tex-activate #:gl-name))
 


Index: cell-cultures/cl-opengl/gl-def.lisp
diff -u cell-cultures/cl-opengl/gl-def.lisp:1.1 cell-cultures/cl-opengl/gl-def.lisp:1.2
--- cell-cultures/cl-opengl/gl-def.lisp:1.1	Sat Jun 26 20:38:41 2004
+++ cell-cultures/cl-opengl/gl-def.lisp	Fri Oct  1 06:01:29 2004
@@ -26,7 +26,7 @@
     `(defun-ffx ,rtn ,module$ ,name$ (, at type-args)
        (progn
          ;;(cells::count-it ,(intern (string-upcase name$) :keyword))
-         (glec ',rtn))))
+         (glec ',(intern name$)))))
 
 (defun aforef (o n)
   (uffi:deref-array o '(:array :int) n))


Index: cell-cultures/cl-opengl/gl-functions.lisp
diff -u cell-cultures/cl-opengl/gl-functions.lisp:1.2 cell-cultures/cl-opengl/gl-functions.lisp:1.3
--- cell-cultures/cl-opengl/gl-functions.lisp:1.2	Sun Jul  4 20:59:45 2004
+++ cell-cultures/cl-opengl/gl-functions.lisp	Fri Oct  1 06:01:29 2004
@@ -169,6 +169,7 @@
 (defun-ffx :void "open-gl" "glGenTextures" (glsizei n gluint *textures))
 (defun-ffx :void "open-gl" "glBindTexture" (glenum target gluint texture))
 (defun-ffx :void "open-gl" "glDeleteTextures" (glsizei n gluint *textures))
+(defun-ffx :int "open-gl" "glIsTexture" (gluint textureName))
 
 
 
@@ -373,13 +374,11 @@
 (defun-ogl :void "open-gl" "glPixelZoom" (glfloat xfactor glfloat yfactor))
 
 #| display lists |#
-(defun-ogl glboolean "open-gl" "glIsList" (gluint list))
+(defun-ogl :int "open-gl" "glIsList" (gluint list))
 (defun-ogl :void "open-gl" "glDeleteLists" (gluint list glsizei range ))
 (defun-ogl gluint "open-gl" "glGenLists" (glsizei range ))
 (defun-ogl :void "open-gl" "glNewList" (gluint list glenum mode ))
 (defun-ogl :void "open-gl" "glEndList" ())
 (defun-ogl :void "open-gl" "glCallList" (gluint list ))
 (defun-ogl :void "open-gl" "glCallLists" (glsizei n glenum type glvoid *lists))
-
-
 (defun-ogl :void "open-gl" "glListBase" (gluint base))


Index: cell-cultures/cl-opengl/glut-extras.lisp
diff -u cell-cultures/cl-opengl/glut-extras.lisp:1.1 cell-cultures/cl-opengl/glut-extras.lisp:1.2
--- cell-cultures/cl-opengl/glut-extras.lisp:1.1	Sat Jun 26 20:38:41 2004
+++ cell-cultures/cl-opengl/glut-extras.lisp	Fri Oct  1 06:01:29 2004
@@ -37,6 +37,7 @@
         (setf *glut-dll* nil *opengl-dll* nil)
         (ff:unload-foreign-library dll)))))
 
+(defparameter *mg-glut-display-busy* nil)
 
 (defun cl-glut-init ()
   (cl-opengl-init)
@@ -60,7 +61,8 @@
                   (print "glut initialised")
                   )
               (fgn-free argc))))
-      (print "Glut already initialized"))))
+      (print "Glut already initialized"))
+    (setf *mg-glut-display-busy* nil)))
 
 (defvar *mdepth*)
 (defvar *selecting*)


Index: cell-cultures/cl-opengl/ogl-macros.lisp
diff -u cell-cultures/cl-opengl/ogl-macros.lisp:1.1 cell-cultures/cl-opengl/ogl-macros.lisp:1.2
--- cell-cultures/cl-opengl/ogl-macros.lisp:1.1	Sat Jun 26 20:38:41 2004
+++ cell-cultures/cl-opengl/ogl-macros.lisp	Fri Oct  1 06:01:29 2004
@@ -100,8 +100,6 @@
 
 (defun cl-opengl-init ()
   (declare (ignorable load-oglfont-p))
-  
-
   (unless *opengl-dll*
     (print "loading open GL/GLU")
     (uffi:load-foreign-library
@@ -112,7 +110,7 @@
                          :module "gl-util"))))
 
 (defun glec (&optional (id :anon))
-  (unless *gl-begun*
+  (unless (and (boundp '*gl-begun*) *gl-begun*)
     (let ((e (glgeterror)))
       (if (zerop e)
           (unless t ;; (find id '(glutcheckloop glutgetwindow))


Index: cell-cultures/cl-opengl/ogl-utils.lisp
diff -u cell-cultures/cl-opengl/ogl-utils.lisp:1.1 cell-cultures/cl-opengl/ogl-utils.lisp:1.2
--- cell-cultures/cl-opengl/ogl-utils.lisp:1.1	Sat Jun 26 20:38:41 2004
+++ cell-cultures/cl-opengl/ogl-utils.lisp	Fri Oct  1 06:01:29 2004
@@ -42,11 +42,12 @@
 
 (defun ogl-texture-gen ()
   (gl-gen-textures 1 *textures-1*)
+  (glec :ogl-texture-gen)
   (ff-elt *textures-1* gluint 0))
 
 (let (gl-s-plane gl-t-plane gl-r-plane gl-q-plane)
   (defun ogl-tex-gen-setup (mode tex-env tex-wrap scale &rest planes)
-    ;(print `(ogl-tex-gen-setup ,mode ,tex-wrap))
+    (ukt::trc nil "ogl-tex-gen-setup:" mode tex-env tex-wrap scale planes)
     (gl-tex-envf gl_texture_env gl_texture_env_mode tex-env)
     (gl-tex-parameterf gl_texture_2d gl_texture_min_filter gl_linear )
     (gl-tex-parameterf gl_texture_2d gl_texture_mag_filter gl_linear )
@@ -192,28 +193,17 @@
 (defun ogl-raster-pos-get ()
   (gl-get-ints-4 gl_current_raster_position))
 
-(defparameter *ogl-pen* nil)
-
-(defun ogl-pen ()
-  *ogl-pen*)
-
-(defun ogl-pen-x ()
-  (car *ogl-pen*))
-
-(defun ogl-pen-y ()
-  (cadr *ogl-pen*))
-
-(defun ogl-pen-init ()
-  (setq *ogl-pen* (ogl-raster-pos-get))
-  ;;(print (list "ogl-pen-init" :to *ogl-pen*))
-  (values))
+(defmacro with-bitmap-shifted ((x y) &body body)
+  (let ((xy (gensym)))
+  `(let ((,xy (cons ,x ,y)))
+     (ogl-pen-move (car ,xy) (cdr ,xy))
+     (prog1
+         (progn , at body)
+       (ogl-pen-move (- (car ,xy)) (- (cdr ,xy)))))))
 
 (defun ogl-pen-move (x y)
-  ;(incf (car *ogl-pen*) x)
-  ;(incf (cadr *ogl-pen*) y)
-  ;(print (list "ogl-pen-move" x y))
-  ;(print (list "in synch?" *ogl-pen* (ogl-raster-pos-get)))
-  (gl-bitmap 0 0 0 0 (+ x) (+ y)))
+  ;;(ukt::trc "ogl-pen-moving" x y)
+  (gl-bitmap 0 0 0 0 x y))
 
 (defclass ogl-texture ()
   ((texture-name :accessor texture-name :initform nil)





More information about the Cells-cvs mailing list