Почему вот так работает -
(defun draw-data ()
(gl:load-identity)
(gl:clear-color 1 1 1 1)
(gl:clear :color-buffer-bit :depth-buffer-bit)
(gl:point-size 10)
;(gl:with-primitive :points
(loop
:for particle :across data:*particles*
:do (let ((p (part-point particle)))
(gl:translate 0 0 0)
(gl:color 0 0 0)
(gl:with-primitive :points
(gl:vertex (vector:point-x p)
(vector:point-y p)
(vector:point-z p))))))
(defun draw-data ()
(gl:load-identity)
(gl:clear-color 1 1 1 1)
(gl:clear :color-buffer-bit :depth-buffer-bit)
(gl:point-size 10)
(gl:with-primitive :points
(loop
:for particle :across data:*particles*
:do (let ((p (part-point particle)))
(gl:translate 0 0 0)
(gl:color 0 0 0)
(gl:vertex (vector:point-x p)
(vector:point-y p)
(vector:point-z p))))))
OpenGL signalled (1282 . INVALID-OPERATION) from END.
[Condition of type CL-OPENGL-BINDINGS:OPENGL-ERROR]
Restarts:
0: [CONTINUE] Continue
1: [RETRY] Retry SLIME REPL evaluation request.
2: [*ABORT] Return to SLIME's top level.
3: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread" RUNNING {1002D74691}>)
Backtrace:
0: (CL-OPENGL-BINDINGS:CHECK-ERROR #<unavailable argument>)
1: (DRAW-DATA)
2: ((LAMBDA ()))
3: ((SB-PCL::EMF LISPBUILDER-SDL::PROCESS-TIMESTEP) #<unavailable argument> #<unavailable argument> #<FPS-FIXED {1006845F51}> #<FUNCTION (LAMBDA #) {10056BBC59}>)
4: ((SB-PCL::FAST-METHOD LISPBUILDER-SDL::PROCESS-TIMESTEP :AROUND (LISPBUILDER-SDL::FPS-MANAGER T)) ..)
5: (VIEW 0 0)
6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (VIEW) #<NULL-LEXENV>)
--more--