2

OpenGLを学びながら、様々な画像タイプを評価できる画像リーダーを探しています".png", ".bmp", ".tga", ".dds", ...height私の計画は、画像ファイルの、width、のようなパラメータを抽出しtype、以下の種類の関数で設定することです:

glTexImage2D(GL_TEXTURE_2D, 0, <color format>, <width>, <height>,
    0, <color orientation>, <data type>, <actual data>);

CImgライブラリstb_image.cを調べました。widhthしかし、height、などのパラメーターを取得する方法がわかりませんでしtypeた。

<GL/glfw.h>このための素晴らしいフレームワークのようです。".tga"以下の関数を使用してフォーマットをロードするだけの印象があります。

int glfwLoadTexture2D(const char *name, int flags);

すべてのフォーマットをサポートしていますか?

また、その近くに以下の機能があります。誰かが簡単に説明できれば、それはボーナスになります。

int  glfwReadImage(const char *name, GLFWimage *img, int flags);
void glfwFreeImage(GLFWimage *img);

どこ:

typedef struct {
  int Width, Height;
  int Format;
  int BytesPerPixel;
  unsigned char *Data;
} GLFWimage;

GLFW がすべての形式をサポートしていない場合は、上記のGLFWimageように params を取得し、glTexImage2D個別に設定できるライブラリがあります。

4

2 に答える 2

2

DevILを確認する必要があります-それはおそらくまさにあなたが望むものです。

于 2012-11-02T14:56:53.340 に答える
1

DevILは幅広い画像形式をかなり適切にサポートしていますが、現在は積極的に開発されていません。著者は忙しすぎた。

GLIも良い選択です。それは DDS のみですが、それは考えられるほど大きな問題ではありません。JPG/PNG などの読み込み。プロトタイプの開発には便利ですが (エンド ユーザーによる簡単なカスタマイズも可能です)、DDS ファイルは、ゲームやインタラクティブ アプリケーション (BCn圧縮テクスチャ フォーマット、キュービック環境)で一般的に使用されるいくつかの機能をネイティブにサポートしているため、一般的に長期的な選択肢として適しています。マップ、ボリューム テクスチャなど)。

于 2012-11-02T17:45:08.210 に答える