2017-12-07 25 views
1

私は大学のプロジェクトに取り組んでいます。キューブモデルを読み込み、テクスチャを付けたり、他のことをする必要があります。OpenGL SOILエラー

私たちは、OpenGLにテクスチャを読み込むためにSOILを使用する基本フレームワークを提供されています。しかし

、私は関数を呼び出すとき:私は次のエラーを取得する

SOIL_load_OGL_texture("Barren Reds.JPG", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, SOIL_FLAG_MIPMAPS); 

を:

OpenGL Debug Output: Source(OpenGL), Type(Error), Priority(High), Error has been generated. GL error GL_INVALID_ENUM in GetString: (ID: 491340553) Generic error 
OpenGL Debug Output: Source(OpenGL), Type(Error), Priority(High), Error has been generated. GL error GL_INVALID_ENUM in TexParameteri: (ID: 2102148481) Generic error 
OpenGL Debug Output: Source(OpenGL), Type(Error), Priority(High), Error has been generated. GL error GL_INVALID_ENUM in TexParameteri: (ID: 2102148481) Generic error 

事があり、私もSOILを使用する別のフレームワークを持っていると私は同じ実行したとき同じテクスチャを持つ関数、それは正常に動作します。だから私はSOILビルドが良くないと思ったので、SOILビルドを私のプロジェクトにコピーしましたが、それと同じエラーです。

私は関数を呼び出すたびにこれらの3行のエラーが発生するので、3つのテクスチャを作成するには3回呼び出します。

+0

[mcve]で編集します。コアコンテキストを要求しているかどうかを判断する方法はありません。 – genpfault

答えて

2

あなたがコア・コンテキストではなく、拡張文字列を反復処理するためにglGetStringi()を使用しての(GL_EXTENSIONSは、コア・コンテキストでglGetString()のための有効な引数ではありませんし、GL_INVALID_ENUMを生成します)SOILのquery_tex_rectangle_capability()は無条件glGetString(GL_EXTENSIONS)を呼び出すことに注意して使用している場合。

あなたのオプションは次のとおりです。直接

  • 修正SOIL、または
  • 使用stb_image.hと互換性のコンテキストを使用して自分自身をアップロード、または
  • テクスチャを扱う(glGetString(GL_EXTENSIONS)はまだ有効な使用の場合)
+0

+1これはおそらく答えです。私は土曜日の数ヶ月前にコアコンテキストの中で同様の問題を抱えていることを思い出し、実際にSOILをデバッグし、 'glGetString(GL_EXTENSIONS)'を呼び出すのを見ました。私はstb_imageを使用して自分のイメージクラスをローリングしました。 – finlaybob

+0

ええ、私はコアコンテキストを使用しているので、エラーを引き起こしたglGetString(GL_EXTENSIONS)が呼び出されているようです。私はそれにもかかわらずまだテクスチャを使用することができ、私はstb_image.hを使用して自分自身でテクスチャをロードするので、私はこのエラーを無視することにしました。ありがとうございました。 – ZedZerg

関連する問題