2017-12-23 32 views
-2

私はOpenGLを初めて使用しており、現在テクスチャに取り組んでいます。私はglTextureParameteri()を呼び出すたびにエラー1282(無効な操作)を取得し続けます。私が知る限り、すべてのリソースが同じようにこれを書いています。これは私に問題を起こしているコードスニペットです。OpenGLでテクスチャを使用するには? (無効な操作エラー:1282)

 ImageLoader image("res/Textures/test.bmp"); 
     GLuint texture; 
     glGenTextures(1, &texture); 
     glBindTexture(GL_TEXTURE_2D, texture); 
     glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 
     glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 
     glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image.getWidth(), image.getHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, image.getPixels()); 
     glBindTexture(GL_TEXTURE_2D, 0); 

glTextureParameteri()でエラーコードが表示されます。私はこれをやったやり方に何が無効/間違っていますか?

+0

[リファレンスマニュアル](https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glTexParameter.xhtml)には、この関数がOpenGL4.5からのみ利用可能であると記載されています。このプログラムを実行しているシステムでサポートされていますか? – VTT

+0

@VTTはい。最近更新されたGTX 1060があります。私が書いたプログラムは、opengl4.6.0で動作しています。また、古い関数glTexParameteri()をチェックしたところ、動作しているようです – Jacques

答えて

2

glTextureParameter関数は、テクスチャターゲットではなくテクスチャハンドルを最初の引数として取ります。使用するパラメータはglTexParameter関数のようです。これら2つは同じではないので、他の機能を使用するか、パラメータを変更することができます。

関連する問題