1
我試圖使用SDL將紋理加載到我的應用程序。當作爲本地應用程序構建時,它應該像它應該那樣工作。但是當我用Emscripten構建它時,無法加載紋理。如何使用emscripten將使用SDL的紋理加載到WebAssembly項目?
紋理圖像的寬度是像素,我可以通過打印出SDL_Surface實例的w
成員來驗證。但是,當我嘗試在WebAssembly應用程序打印出相同的成員,它產生 ...
是否圖像變得莫名其妙當emscripten包裝的「破」?
下面的代碼加載質地:
SDL_Surface *image = IMG_Load("resources/binaries/crate.jpg");
GLuint textureID;
glGenTextures(1, &textureID);
glBindTexture(GL_TEXTURE_2D, textureID);
std::cout << image->w << std::endl;
glTexImage2D(GL_TEXTURE_2D, 0, 3, 64, 64, 0, GL_RGB, GL_UNSIGNED_BYTE, image->pixels);
這裏的命令Emscripten
emcc --bind -s USE_SDL=2 -s USE_SDL_IMAGE=2 -o webapp.js src/webapp.cpp --preload-file resources
的錯誤信息,我發現了瀏覽器構建Web應用程序啓動網頁時應用程序是
webapp.js:9533 WebGL:INVALID_VALUE:texImage2D:寬度或高度超出範圍
這是有道理的,因爲圖像的分辨率是如此瘋狂...