OpenGL применяет фильтры к текстурам с текстурами slick.util - PullRequest
1 голос
/ 07 июля 2011

Я изучаю openGL, используя lwjgl.Я пытаюсь увидеть влияние различных фильтров на текстуры.для загрузки текстур я использую SlickUtil.TextureLoader для загрузки текстур, и работают только первые 2 параметра фильтра текстур, а остальные приводят к пустой текстуре.если кто-то знает, что я делаю неправильно или как вручную применять фильтры после загрузки текстуры, скажите, пожалуйста;

Texture[] textures = new Texture[6];
textures[0] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_NEAREST);
textures[1] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_LINEAR);
textures[2] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_NEAREST_MIPMAP_NEAREST);
textures[3] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_LINEAR_MIPMAP_NEAREST);
textures[4] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_NEAREST_MIPMAP_LINEAR);
textures[5] = TextureLoader.getTexture("BMP", new FileInputStream("src/Textures/Glass.bmp"), GL_LINEAR_MIPMAP_LINEAR);

1 Ответ

3 голосов
/ 07 июля 2011

Для фильтров * MIPMAP * требуется полная цепочка mipmap, и совершенно очевидно, что загрузчик текстур не создает цепочку mipmap. Mipmaps могут быть загружены из файла или сгенерированы OpenGL с помощью glGenerateMipmap ().

Обычным признаком неполной цепочки мипмапов и фильтра мипмапов является то, что текстура выглядит полностью белой (или черной).

Для LWJGL вы можете использовать glGenerateMipmap (GL30, OpenGL 3.0) или glGenerateMipmapEXT (расширение GL_EXT_framebuffer_object).

Чтобы использовать его, просто привяжите текстуру с помощью glBindTexture и вызовите glGenerateMipmap с правильной целью текстуры (такой же, как у glBindTexture).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...