OpenGL, контролирующий использование виртуальных машин при создании и рендеринге карт MIP - PullRequest
2 голосов
/ 01 сентября 2011

Можно ли создать карту MIP в открытых версиях 1.x, которая загружает только разрешение текстуры, которое она в данный момент рендерит?

Таким образом, вместо загрузки всех разрешений текстур от самого большого до самого маленького приодин раз, пусть mipmap хранит только тот, который он отображает в данный момент.Затем пусть gl загружает новые текстуры разрешения, когда я увеличиваю и уменьшаю масштаб.Таким образом, я мог бы загрузить много больших текстур на поверхность и уменьшить масштаб, чтобы просмотреть их все одновременно, без проблем с бюджетом виртуальной машины.

Если у gl нет способа сделать это, можно ли переопределитьфункция onDraw, чтобы определить, какой уровень mipmap запрашивается для рендеринга, чтобы я мог вручную загрузить новую текстуру?

1 Ответ

0 голосов
/ 11 октября 2011

Насколько я знаю, для этого нет функциональности.Когда вы определяете, что объект текстуры имеет MipMaps, тогда у вас есть , чтобы заполнить их все.Если вы этого не сделаете, это считается ошибкой и неопределенным поведением в результате - обычно вы получаете черный рендеринг при использовании этой текстуры.

Даже если бы вы могли это сделать, вы бы этого не хотели;Загрузка данных для текстурирования может быть медленным процессом, особенно на мобильной платформе, поэтому производительность сильно пострадает.Наконец, MipMaps обычно работают с линейной интерполяцией, смешивая различные доступные разрешения загружаемых текстурных данных - потребуется как минимум два размера.

...