将cl opengl与着色器一起使用
我试图将现代opengl教程中的代码转换为cl,但如果启动程序,将打开一个没有任何内容的新窗口,并且我必须重新启动整个窗口管理器,因此很难进行调试 我的代码(使用sdl2而不是glut): 让(现代)opengl使用cl的最佳方式是什么?将cl opengl与着色器一起使用,opengl,glsl,common-lisp,slime,Opengl,Glsl,Common Lisp,Slime,我试图将现代opengl教程中的代码转换为cl,但如果启动程序,将打开一个没有任何内容的新窗口,并且我必须重新启动整个窗口管理器,因此很难进行调试 我的代码(使用sdl2而不是glut): 让(现代)opengl使用cl的最佳方式是什么? 我是否应该使用另一个教程(可能是通用lisp?我没有找到)或其他LIB(例如lispy glsl或不是sdl2)?我不认为您想调用gl free array。您没有使用VBOs,因此OpenGL需要CPU端内存来渲染三角形。你应该把三角形数组放在一个全局变量中
我是否应该使用另一个教程(可能是通用lisp?我没有找到)或其他LIB(例如lispy glsl或不是sdl2)?我不认为您想调用gl free array。您没有使用VBOs,因此OpenGL需要CPU端内存来渲染三角形。你应该把三角形数组放在一个全局变量中。不能评论,所以这将是一个答案(是的,我知道这个问题是半旧的)。 您的主要问题似乎源于您的
到gl数组
,它实际上在填充数组后丢弃数组-将NIL
返回到三角形
(defun to-gl-array (seq type
&aux
(length (length seq))
(array (gl:alloc-gl-array type length)))
(dotimes (i length)
(setf (gl:glaref array i) (aref seq i)))
array)
应该解决这部分问题
(defun to-gl-array (seq type
&aux
(length (length seq))
(array (gl:alloc-gl-array type length)))
(dotimes (i length)
(setf (gl:glaref array i) (aref seq i)))
array)