私はSDLからDevilまですべてを試しましたが、それらはすべて様々な理由で失敗しました。私はIL/ilut.hをインクルードして、すべてをリンクして、他のヘッダを含めても、画像をロードするために必要な関数を定義していないという奇妙な問題を抱えています。 OpenGLテクスチャ(USE_OPEN_GLが定義されていないもの)私はビットマップやPNGを私が簡単にopenglに変換できる形式、または悪魔の問題への解決策をロードするための他のlibを探しています。あなたがやりたいILUTを必要といけない
おかげOpenGL用C++クロスプラットフォームイメージローダー
答えて
。
ビットマップ(.bmp)とnetpbmイメージ(.pbm、pgm、.pnm)を読み込むと、圧縮されていないイメージが格納されるため、簡単に読み込むことができます。 PNGを読み込むには、libpngを使用します。 JPEGをロードするには、libjpegを使用します。他のイメージタイプについては、適切なライブラリを使用してください。イメージ名の先頭に 'lib'を置くと、このようなライブラリが得られます。 libtiff、libtgaなど
生の画像データを読み込んだらOpenGLテクスチャに読み込んだら、適切なパラメータを指定してglTexImage2D()
を呼び出すだけで問題ありません。ミップマップを行う方法)。
Image CまたはC++バインディングを使用するMagick?
LodePNG依存性のない非常にコンパクトなPNGローダーです。
DevILの経験に感謝します。私と他の多くの人にとって完璧に動作します。ビルドの問題を解決するためにもう一度やり直してみませんか? - あまりにもハードではありません)
SOILはこれまで私が使用していたまともな軽量です。実際にはOpenGLテクスチャの読み込みにも特化しています。
ます。またFreeImage libraryを試すことができます。さまざまな画像タイプの読み込みをサポートしており、機能的にはDevilに似ています。
DevILの問題については、Devilを機能させるためにiluまたはilutライブラリをビルドする必要はありません。 OpenGL側に画像データをアップロードするなど、OpenGLテクスチャオブジェクトを自分で管理することをお勧めします。
libpngとlibjpegはともに&をビルドするのは難しいかもしれません。両方のラッパーライブラリがあります。
単一のCファイルに依存しないjpg/png(および他のものも同様)用の非常にシンプルで最小のナンセンスローダーはSean Barrettのstb_imageです。あなただけのいくつかの画像ファイルをロードする場合、C、それはあなたのプログラムに絶対的に最小限のオーバーヘッドを追加し、使用するのは簡単です:
若いが、まだ大きなは十分SFMLは、あなたが探しているものである可能性があります。私は数多くのプロジェクトに使用しており、すべてのプラットフォームはすべてのプラットフォーム(Win7とUbuntu)でうまくいきました。
- 1. OpenGL with Visual C++
- 2. C++ OpenGL/FreeTypeスクロールフォント
- 3. C++、OpenGL clipping
- 4. openGLテクスチャマッピング - c
- 5. OpenGL C#ボールエミッタ
- 6. OpenGL C++ Occlusion Query
- 7. C++ OpenGL SFML
- 8. Android NDK C++、incのシステムオーバーレイウィンドウ。グラフィックス用OpenGL-ES
- 9. OpenGLを使用したC++でのデータクラスタリング
- 10. WindowsおよびOpenGL用Qt C++ライブラリ
- 11. のOpenGL 3+ BlackScreen - C++
- 12. glulookat()usage-openglとC++
- 13. C++ OpenGL fstream ctype.hエラー
- 14. OpenGL ES ANDROID C++エラー
- 15. エラー 'glutTimerfunc' C Opengl glut
- 16. OpenGL + Tiny Cコンパイラ: "、expected"
- 17. Bitmap with OpenGL with C#
- 18. OpenGL ESを使用したC/C++のSobelフィルタ
- 19. C++/OpenGL VAOの問題
- 20. C++/OpenGL - 配列のポインタ
- 21. GL_QUAD、glVertex2fのC++ OpenGLロードイメージ
- 22. カーソルの向きopenGL C++
- 23. OpenGLにC++コンテナを渡す?
- 24. C++ OpenGL glTexImage2Dアクセス違反
- 25. C++、OpenGLのnvoglv32.dllエラー
- 26. WinFormsのC#でのOpenGL
- 27. Mac OS XでOpenGlを使用するCプログラムをコンパイル
- 28. objファイル(opengl C++)で面の値を使用する方法
- 29. Qtアプリケーション(wndproc)でwinapiとopengl関数(C++)を使用する
- 30. OpenGLを使用したVisual C++でのLagrange polinom
これは正しい答えであると思います。 信じられないほどシンプルなC APIを備えた軽量ライブラリです。主にstb_image.c(これは絶対スパルタン軽量画像読み込みコードです)に基づいていますが、よりクリーンです。 – bigD