0

わかりましたので、SOIL を使用して、"textures" フォルダーにある .png ファイルを読み込もうとしています。textures フォルダーは、コードと同じディレクトリにあります。XCode プロジェクトのスキーム設定に入り、作業ディレクトリをフォルダーがある場所に変更しました。ただし、この簡単なテストを行うと、常に GLUint テクスチャが NULL であることが示されます。

GLuint texture = SOIL_load_OGL_texture
(
 "textures/image.png",
 SOIL_LOAD_AUTO,
 SOIL_CREATE_NEW_ID,
 SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT
 );

if (texture == 0){
    std::cout << "Texture not found!\n";
    return 0;
}

SOILに関して何か間違ったことをしているのかどうかはわかりませんが、ファイルが単に読み取られていないというのが私の推測です。先ほど言ったように、XCode の作業ディレクトリを変更しましたが、何も変わりません。

4

1 に答える 1

0

わかりました。問題は、PNG ファイルが 8 ビットではなく 16 ビットだったことです。また、SOIL_load_OGL_texture関数は と の後に呼び出す必要がglfwCreateWindow()ありglfwMakeContextCurrent()ました。

これが私を助けた答えです: SOIL: 'Unable to open file' in C++ and OpenGL with Xcode

于 2015-03-25T20:30:16.690 に答える