1

OpenGL でのテクスチャのマッピングに問題があります。これは、現在これらのテクスチャで正しくロードしようとしているモデルへのリンクです。

ここに、すべての関連ファイルがあるディレクトリへのリンクがあります: http://karvis.kapsi.fi/

問題は、img1.jpg

赤でマークした領域は、3D 倉庫モデルからわかるように、テクスチャでマッピングする必要はありません。問題は、テクスチャのない領域もあるはずなのに、何らかの理由でモデル全体がマップされることです。テクスチャのない同じモデルもあります。img2.jpg

そして、私がコンパイルしているコードがあります: main.cpp. Collada モデルのインポートには Asset Import Library を使用し、画像を RGB 形式に変換するには FreeImage を使用しています。

なぜこれが起こっているのか誰にも分かりますか?間違ったパラメータを OpenGL に渡しているのかもしれません。それとも、これらのテクスチャなどをロードする方法に問題があるのでしょうか?

4

1 に答える 1

2

テクスチャをレンダリングする前に、次のことを行う必要があります。

glEnable(GL_TEXTURE_2D);
glBindTexture(...);
//render the texture

テクスチャのレンダリングが終了したら、テクスチャを無効にする必要があります。

glDisable( GL_TEXTURE_2D );

プログラムの開始時に 2D テクスチャを有効にするというコードが表示されます。

コードをさらに調べて、次のことを確認してください。

if(mesh->HasTextureCoords(0))

テクスチャをレンダリングしたくない領域に対して true または false を返します。

于 2011-05-22T14:36:59.067 に答える