'(you lisp me)

Lispって何だ

CommonLispでパーティクル

追記:2016/9/13 書き直しました

Lisp Advent Calendar 2015 の17日目の記事です.

qiita.com

題の通りCommonLispでパーティクルを描画してみました.
使用したライブラリは以下,全部Quicklispで入ります.

GitHub - cffi/cffi: The Common Foreign Function Interface

GitHub - 3b/cl-opengl: cl-opengl is a set of CFFI bindings to the OpenGL, GLU and GLUT APIs.

GitHub - AlexCharlton/cl-glfw3: Common Lisp bindings to GLFW version 3.x

GitHub - Shinmera/trivial-main-thread: Compatibility library to run things in the main thread.

alexandria / alexandria · GitLab

作成したコードを載せます.

OpenGLでのパーティクル描画に関しては 実践編04 - OpenGL de プログラミング を参考に(というかほとんどCommonLispに書き換えただけ…)させていただきました.

上のサイトではglutを使っていますが,丸パクリは流石に避けたいなと思ったのでglfw3を使用しました. alexandriaはキーハンドリングの部分に使っていますが,無くても出来ますね:)

今回初めてCommonLispでGUIプログラミングをしてみたのですが,思ったより書きやすかったです.
またcl-openglに用意されているマクロ(引数の数で呼び出す関数を変えてくれる)がとても便利ですね!

まとめ

CommonLisp楽しい.OpenGL面白い.

f:id:iriscode:20151218031034p:plain

#| 遅れて申し訳ありませんでしたorz |#