私はコンポジターを使用してテクスチャをHTC Viveに提出しようとしていました。私は "TextureUsesUnsupportedFormat"である105のエラーを取得し続けます。テクスチャはbmp画像の24ビットの奥行きです。私はhellovrのサンプルを見てきましたが、少し混乱しました。また、ViveはRGBA8形式でテクスチャを必要としますが、実際にどのように作成するかはわかりません。私は各アイポートを埋めるためにテクスチャを取得しようとしています。テクスチャをHTC Viveに提出するには?
私は間違っていますか? Viveのコードに提出
Loading_Surf = SDL_LoadBMP("Test.bmp");
Background_Tx = SDL_CreateTextureFromSurface(renderer, Loading_Surf);
if (!Loading_Surf) {
return 0;
}
glGenTextures(1, &textureid);
glBindTexture(GL_TEXTURE_2D, textureid);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, Loading_Surf->w, Loading_Surf->h, 0, mode, GL_UNSIGNED_BYTE, Loading_Surf->pixels);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
SDL_FreeSurface(Loading_Surf);
SDL_RenderCopy(renderer, Background_Tx, NULL, NULL);
SDL_RenderPresent(renderer);
return textureid;
:
はここでテクスチャとテクスチャIDを取得するために私のコードです
vr::Texture_t l_Eye = { (void*)frameID, vr::API_OpenGL, vr::ColorSpace_Gamma };
std::cout << vr::VRCompositor()->WaitGetPoses(ViveTracked, vr::k_unMaxTrackedDeviceCount, NULL, 0);
error = vr::VRCompositor()->Submit(vr::Eye_Left, &l_Eye);