空飛ぶ気まぐれ雑記帳

主に趣味とかプログラミングについて扱います。

SFMLがいい感じ

SFMLというOpenGLのラッパライブラリがすごく使いやすくていい感じだったのでそのまとめ。

SFMLとはSimple and Fast Multimedia Libraryの略で、マルチプラットフォームで利用できるだけでなく、C++JAVAといったコンパイル言語だけでなく、RubyPythonなどのスクリプト言語でも使用することができるライブラリである。

さて、どこがいい感じかと一言でまとめると簡単という所である。

一般的にというか、DirectXOpenGLを触った経験での話だが、描画系ライブラリを扱うには莫大な量の学習コストがかかる。人によって差は大きくあるだろうが、私の場合ただ三角形を描画して、回転させるというプログラムを理解するのに2週間以上、かかった記憶がある。さらに言うなら、DirectX11を利用するには、COMコンポネートの知識は必須なので、そちらの方の勉強にも時間を割かなければならないので学習コストはさらに増加してしまう。
ここまできてやっと色々な物を描画できるぞ、と言いたいところだが、最近の描画ライブラリではパフォーマンスの関係で、固定パイプラインを利用した描画系を推奨していないため、基本的にシェーダプログラムを自分で勉強しなければならないわけで更に学習コストが増加してしまう。
これらの事を勉強している間に何かスクリプト言語を1つ覚えれそうなものだ。

それに比べて、SFMLはいい感じであった。
用意されている機能として、描画系の他にGUI系などもはいっているため、Cで書かれたGLUTを使う必要はない。
それに付け加え、たったの50行程度で、適当な画像ファイルをテクスチャにした、正方形を回転させることができた。

しかしながら、SFMLにも当然だが欠点がある。
このライブラリは3Dの描画には非対応なのである。
個人的にはわざわざ描画ライブラリを使うからには何かしらの3Dを使うことを目的としているので、非常に残念に思う。