首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用SBCL安装CL-Opengl?

如何用SBCL安装CL-Opengl?
EN

Stack Overflow用户
提问于 2014-08-17 15:50:02
回答 2查看 846关注 0票数 5

所以我想知道如何为SBCL安装opengl?我在64位的Windows 8笔记本上。我确实使用了quicklisp和quickload,但是当我在程序中实际使用它时,我会得到如下错误:

代码语言:javascript
复制
; compilation unit finished
;   Undefined functions:
;     DRAW-FRAME INIT-GL
;   caught 2 STYLE-WARNING conditions

这是我的密码:

代码语言:javascript
复制
(require 'cl-opengl)
(require 'cl-glu)
(require 'lispbuilder-sdl)

(defun main-loop ()
  (sdl:with-init ()
    (sdl:window 800 800
        :title-caption "OpenGL Test"
        :opengl t
        :opengl-attributes '((:sdl-gl-doublebuffer 1)
                             (:sdl-gl-depth-size 16)))
    (setf (sdl:frame-rate) 20)

    (init-gl)
    (draw-frame)
    (sdl:update-display)

    (sdl:with-events ()
      (:quit-event () t)
      (:video-expose-event ()
        (sdl:update-display))
      (:idle ()
        (draw-frame)
        (sdl:update-display)))))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-19 04:37:17

我快速地看了一下您的代码似乎来自的页面。

编译器似乎没有说谎,也没有定义(init-gl)(draw-frame)

据我所知,上述页面的作者后来包含了一个(draw-frame)的定义,如下所示:

(defun draw-frame (rotx roty rotz) (gl:matrix-mode :modelview) (gl:push-matrix) (gl:translate 0.5 0.5 0.5) (gl:rotate rotx 1 0 0) (gl:rotate roty 0 1 0) (gl:rotate rotz 0 0 1) (gl:translate -0.5 -0.5 -0.5) (draw-figure +cube-vertices+ +cube-faces+) (gl:pop-matrix))

但是,看起来(init-gl)后来被重命名为(start),它的开头如下:

(defun start () (let ((rotx 0) (roty 0) (rotz 0))

作者将(init-gl)描述为设置“观看参数、照明、裁剪、模型视图矩阵等”,这正是(start)所完成的功能。

顺便说一句,cybevnm提出了所有正确的问题,回答这些问题可能会导致类似的结论。

干杯!

票数 2
EN

Stack Overflow用户

发布于 2014-08-19 00:11:43

您应该安装快步。然后加载您只需要执行(ql:quickload '<system-name>)的所有包。您正在使用的所有三个系统都可以通过quicklisp和其他更多的方式使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25350862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档