LINUX.ORG.RU

OpenGL wtf?


0

1

Почему вот так работает -

(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--

а всё, до самого дошло - дело в translate

pseudo-cat ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.