ПрограммированиеФорумГрафика

OpenGL. удалить мипмапы

#0
12:11, 14 мая 2015

добрый день. подскажите
1) как удалить мипмап уровни текстуры, созданные с помощью gluBuild2DMipmaps? или нужно удалять всю текстуру (0 уровня) и пересоздавать уже без мипмапов?
2) если я частично изменил изображение текстуры, нужно ведь пересоздать мипмапы? каким образом? вызвать снова gluBuild2DMipmaps и он заменит прежние?

#1
12:19, 14 мая 2015

1. Никак
2. Можешь записать их вручную с помощью glTexSubImage или сгенерировать их с помощью glGenerateMipmaps

#2
15:14, 14 мая 2015

Gregorio
> мипмап уровни текстуры, созданные с помощью gluBuild2DMipmaps
Не надо юзать это тормозное устаревшее говно. Мипы надо генерировать через glGenerateMipmap. А если тебе недоступна такая роскошь, и ты используешь OpenGL 2 или старее, то есть glTexParameter с GL_GENERATE_MIPMAP. Он тоже устаревший, но лучше, чем GLU.

Gregorio
> 2) если я частично изменил изображение текстуры, нужно ведь пересоздать
> мипмапы? каким образом? вызвать снова gluBuild2DMipmaps и он заменит прежние?
Либо после изменения текстуры вызывать glGenerateMipmap, либо если будешь использовать glTexParameter с GL_GENERATE_MIPMAP, то вроде как он автоматически обновит.

#3
17:30, 14 мая 2015

-Eugene-, gammaker спасибо!

#4
18:48, 14 мая 2015

glGenerateMipmap(GL_TEXTURE_2D); - дает краш на моей видеокарте nvidia geforce 310m. придется юзать GL_GENERATE_MIPMAP :(

#5
18:50, 14 мая 2015

Gregorio
> glGenerateMipmap(GL_TEXTURE_2D); - дает краш на моей видеокарте nvidia geforce
> 310m.
Странно. У меня такая же видеокарта и отлично работает (причем, в отличии от интела, очень быстро, т.е. мипмапы скорее всего генерятся на гпу). Ты точно получил адрес этой функции (на случай если вручную расширения грузишь)?

#6
19:46, 14 мая 2015

gammaker
> лучше, чем GLU.
Чем?

#7
20:22, 14 мая 2015

Моласар
> Чем?
Чем GLU

#8
0:48, 15 мая 2015

-Eugene-
"чем грузин", ну я так и думал.

ПрограммированиеФорумГрафика

Тема в архиве.