В своем недавнем учебнике, я наткнулся на это, чтобы генерировать мип для «textureObject»Что такое правильный способ генерации мип
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, textureObject);
glBindSampler(0, samplerObject);
glGenerateMipmap(GL_TEXTURE_2D);
Я хочу ставить под сомнение использование
glActiveTexture(GL_TEXTURE0);
glBindSampler(0, samplerObject);
перед вызовом 'glGenerateMipmap. Потому что я получаю тот же результат, что и раньше, если я прокомментирую эти две строки.
Эти строки присутствуют только для того, чтобы убедиться, что правильная единица текстуры и пробоотборник связаны перед генерированием mipmaps?
или Эти строки на самом деле говорят, какую текстуру выбрать, и какой тип выборки сделать для создания mipmaps?
Что произойдет, если я пропущу эти 2 строки?
это пример из г-Truc уже. GL-330-FBO-mipmaps.cpp. Этот учебник связывает как текстурную единицу 0, так и пробник перед генерированием мип-карт. – viktorzeid
Правильно! Я изменил ответ, так что, надеюсь, это лучше. – fen
Требуется ли генерации mipmap какой-либо информации о параметрах выборки/текстуры (например, GL_TEXTURE_LOD_BIAS, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD)? Потому что, если это не так, я думаю, что безопасно предположить, что нам не нужно связывать сэмплер. И о блоке текстуры: причина, по которой я спрашивал, нужен ли выбор активной текстурной единицы или нет, заключается в том, что мы знаем, что эта текстура уже привязана к блоку текстуры 0, когда мы выделили для него изображение или заданные параметры текстуры. Итак, нужно ли указывать его снова при создании mipmaps? – viktorzeid