wvogel日記

自分用の技術備忘録が多めです.

画像描画 with OpenGL

入院初日。
試験からも寄席からも開放され、しばしの休息。
というわけで。
久々にHaskell!!
やりかけになっていた、OpenGLを使ってHaskellでの画像描画

実行結果

ソースコードこちら
の、
Gui.hs
・Interface.hs
・ImageReader.hs
の3ファイル

ただ。ただ。。。。。遅い!!
とてつもなく遅い!
リスト内包表記を使っていたり、
readを多用していたり、
再帰で実現していたり、
遅延評価故であったり。
色々原因はあるんでしょう。

再帰は、Getモナドでファイルを読んでいく際に、
モナド内でApplicativeを利用しています。
foldlMをうまく使えないか考えてみたけれど、今の私ではちょっと思いつかなかった。


このままではノベルゲームエンジン製作には使えない。
(そもそも、現状24bit bmpしか対応していない)