Не говоря уже о том, что именно я создал текстуру в первую очередь, и я должен прекрасно знать, сколько mipmaps я загрузил / сгенерировал для нее. Я делаю это для модульного теста. Кажется, нет параметра glGetTexParameter
, чтобы это выяснить. Самое близкое, что я пришел - что-то вроде этого:
int max_level;
glGetTexParameter( GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, &max_level );
int max_mipmap = -1;
for ( int i = 0; i < max_level; ++i )
{
int width;
glGetTexLevelParameter( GL_TEXTURE_2D, i, GL_TEXTURE_WIDTH, &width );
if ( 0 == width )
{
max_mipmap = i-1;
break;
}
)
В любом случае, glGetTexLevelParameter()
вернет 0 ширины для несуществующего mipmap, если я использую графический процессор NVidia, но с Mesa он возвращает GL_INVALID_VALUE
, что заставляет меня поверить, что это Неверно Что нужно сделать .
Как узнать, с какими уровнями mipmap я заполнил текстуру?