Что такое уровень mip текстурирования в minecraft. MIP-MAP Filtering в процессе выполнения приложения

26.03.2019

Используйте MIP-текстурирование для масштабирования крупных изображений.

Еще одна новая функция, доступная в проигрывателях Flash Player 10.1 и AIR 2.5 на всех платформах, связана с MIP-текстурированием. В проигрывателях Flash Player 9 и AIR 1.0 представлена функция MIP-текстурирования, позволяющая повысить качество и производительность уменьшенных растровых изображений.

Примечание. Функция MIP-текстурирования подходит только для динамически загружаемых изображений или встроенных растровых изображений. MIP-текстурирование не применяется к отфильтрованным или кэшированным экранным объектам. Обработка MIP-текстурирования возможна, только если ширина и высота растрового изображения являются четными числами. Если ширина или высота растрового изображения является нечетным числом, обработка MIP-текстурирования останавливается. Например, к изображению 250 x 250 можно применить MIP-текстурирование до 125 x 125, но дальнейшее MIP-текстурирование будет невозможно. В этом случае хотя бы один из размеров является нечетным числом. Наиболее оптимальные результаты получаются, если растровые изображения имеют размеры, равные степени двойки, например: 256 x 256, 512 x 512, 1024 x 1024 и так далее.

Например, если загружено изображение 1024 x 1024 и разработчику необходимо масштабировать его для создания миниатюры в галерее. Функция MIP-текстурирования обеспечивает правильную визуализацию изображения при масштабировании с использованием промежуточных субдискретизированных версий растрового изображения в качестве текстур. В предыдущих версиях среды выполнения промежуточные уменьшенные версии растрового изображения создавались в памяти. Если было загружено изображение 1024 x 1024, которое отображалось с размером 64 x 64, в более старых версиях среды выполнения каждый раз создавалось растровое изображение половинного размера. Например, в этом случае создавались растровые изображения 512 x 512, 256 x 256, 128 x 128 и 64 x 64.

Теперь проигрыватели Flash Player 10.1 и AIR 2.5 поддерживают прямое MIP-текстурирование исходного объекта до объекта с необходимым размером. В предыдущем примере создаются только исходное растровое изображение 4 МБ (1024 x 1024) и MIP-текстурированное растровое изображение 16 КБ (64 x 64).

Логика MIP-текстурирования также работает с функцией динамической выгрузки растровых изображений. Если используется только растровое изображение 64 x 64, исходное изображение размером 4 МБ освобождается из памяти. Если необходимо повторно создать MIP-текстурированную версию, исходное изображение загружается повторно. Кроме того, если требуются другие MIP-текстурированные растровые изображения разных размеров, цепочка MIP-текстурированных растровых изображений используется для создания растрового изображения. Например, если необходимо создать растровое изображение 1:8, исследуются растровые изображения 1:4, 1:2 и 1:1 на предмет того, какое изображение было загружено в память первым. Если другие версии не найдены, исходное растровое изображение 1:1 загружается из ресурса и используется.

Программа распаковки JPEG может выполнять MIP-текстурирование в своем собственном формате. Такое прямое MIP-текстурирование позволяет распаковывать большое растровое изображение непосредственно в формате MIP-текстурирования без необходимости загрузки всего несжатого изображения. Создание MIP-текстурированной версии выполняется существенно быстрее, и не происходит выделение и последующее освобождение памяти, используемой большими растровыми изображениями. Качество изображения JPEG сравнимо с качеством изображения, полученного общим методом MIP-текстурирования.

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

В разделе на вопрос ЧТО ТАКОЕ MIP-MAPPING! заданный автором лучший ответ это MIP MAPPING - это незаменимая в каждой игре вещь. Напрмер вы играете в игру - GTA. В далеке виднеются дома. Их текстуры размыты. Как только вы подойдёте ближе текстурки станут чётче. Это сделонно чтобы не нагружать процессор. Зачем делать тектуры домов чёткими, от которых вы далеко, если вы их всё равно не увидите!? !
Существует и другая вещь. Называется она LOD. Она работает также, как и m-mapping, только заменяет модели, а не текстуры. Заменяет на моделии где полигонов меньше, опятьже тем самым снижая нагрузку ЦП. Яркий тому пример игра: TES 4 Oblivion. Благодаря великолепной системе LOD и M-MAPPINGA эта игра илёт даже на слабых машинах - со слабыми процессормами, (только video карта нужна FX5200 или R9200). Также модели деревьемв заменяются на спрайты (плоские картиннки) .
А вот создатели Gothic 3 что-то поленились оптимизировать игру и она тормозит на всех, даже мощных машинах, хотя графика в этой игре не очень.

Mipmapping

Mipmapping (mip-mapping, mip-текстурирование или мипмеппинг) это метод уменьшения объема вычислений необходимых для точного наложения текстурного изображения на полигон. Простейший метод наложения текстур называется point-sampling (single point-sampling или поточечная выборка). Суть его в том, что для каждого пикселя, составляющего полигон, вы выбираете один тексель из текстурного изображения.

Этот метод очень неточен и результатом его применения является появление неровностей (aliasing - качество изображения ухудшается). А именно, всякий раз, когда пиксели больше по размеру, чем тексели, наблюдается эффект мерцания. Этот эффект имеет место, если часть полигона достаточно удалена от точки наблюдения, так, что сразу много текселей накладываются на пространство, занимаемое одним пикселем.

Заметим, что если полигон расположен очень близко к точкем наблюдения и тексели больше по размеру, чем пиксели, мы можем наблюдать другой тип ухудшения качества изображения (aliasing - алиасинг). В данном случае, изображение начинает выглядеть блочным. Этот эффект имеет место, когда текстура может быть достаточно большой, но ограничение в виде доступного разрешения экрана не дает возможности правильно представить исходое изображение.

На самом деле, mipmapping не может предотвратить такого рода эффекты ухудшения качества изображения; ничто не может помочь в этом случае, за исключением использования больших по размеру (т.е. имеющих более высокое разрешение) текстурных изображений или использование специальной техники, называемой "detail textures" (детализированные текстуры). Метод mipmapping разработан с целью помочь избавиться от первого типа ухудшений изображений или алиасинга, когда несколько текселей накладываются на один пиксель. Проблема тут в том, что если вам требуется правильным образом вывести на экран пиксель, вам необходимо скомбинировать значения ВСЕХ текселей, которые накладываются на пиксель. Разумеется, вы не можете сделать этого, если выбираете лишь один тексель. При этом, вам не хочется делать выборку по ВСЕМ текселям, потому что это слишком большой объем работы для правильного вывода на экран всего одного пикселя.

Метод mipmapping снижает объемы работы за счет генерирования и хранения множество версий исходного текстурного изображения, каждая из версий которого имеет все меньшее и меньшее разрешение (таким образом эффективнее используя "большие" тексели). Когда происходит текстурирование пикселя, вам нужно выбрать версию текстурного изображения, которая имеет необходимый размер текселей (относительно размера пикселя).

Теперь у вас есть много альтернатив -- какие тексели следует использовать, исходя из 8 хороших вариантов:
· у вас есть 4 близлежащих (nearest) текселей из текстурного изображения, причем эти тексели лишь слегка больше по размеру чем писксель.
· у вас есть 4 близлежащих текселей из текстурного изображения, причем эти тексели лишь слегка меньше по размеру чем писксель.

Если вы создаете неподвижное изображение, вы можете просто выбрать один ближайший тексель и использовать его. Однако, если вы создаете анимацию или движущееся изображение, результатом такого выбора будет серьезное ухудшение качества изображения (снова мерцание), в следствии того, что при медленном движении тексель выбранный для пикселя может "перескакивать" с одного места на другое при смене кадров.
Чтобы результат был лучше, вы должны выбрать несколько текселей и взять их среднее значение для определения пикселя. Т.е. вы должны выбрать способ фильтрации:
· линейный (linear) мипмеппинг: выбирается два текселя один побольше, а другой поменьше
· билинейный (bilinear) мипмеппинг: выбираются 4 текселя из ближайшего уровня
· трилинейный (trilinear) мипмеппинг: выбираются все 8 текселей

Кстати, такое усреднение отнюдь не является простым, а скорее наоборот сложным: чем ближе тексель находится по отношению к пикселю, тем большее влияние на конечное значение усреднения он оказывает (и наоборот).

Получается, что трилинейный мипмеппинг это лучшее, что может быть?

Нет конечно. Видно, что проблема не только в соотношении размеров пикселя и текселя, но также и в форме каждого из них (или, что бы быть более точными, в соотношениях форм).

Метод mip-текстурирования лучше всего работает для полигонов расположенных прямо "лицом к лицу" к точке наблюдения. Объясняется это тем, что каждая версия mip-текстуры получается в результате сокращения в четыре раза набора текселей, составляющих текстуру с более высоким разрешением, для получения текстуры с более низким разрешением.

Однако, полигоны, косонаправленные по отношению к точке наблюдения искривляют накладываемую текстуру так, что на пикселы могут накладываться различного вида и квадратичные по форме области текстурного изображения. Метод mip-текстурирования не принимает это во внимание и в результате наблюдается эффект слишком сильного размытия текстурного изображения, так, будто использованы неправильно выбранные тексели. Для решения этой проблемы вы должны делать выборку из большего количества текселей, составляющих текстуру, и выбирать эти тексели следует принимая во внимание "отображенную" форму пикселя в текстурном пространстве. Эта техника называется "anisotropic filtering" (анизотропная фильтрация). Обычное mip-текстурирование называется "isotropic" (изотропное или однородное), потому что мы всегда фильтруем вместе квадратные области, состоящие из текселей. Анизотропная фильтрация означает, что форма области из текселей, которую мы используем меняется в зависимости от обстоятельств. Anisotropic: "an" = not (не); "iso" = uniform (постоянная); "tropic" = shape (форма).

Кстати, архитектура Talisman от Microsoft может в некоторой степени осуществлять анизотропную фильтрацию, таким образом обеспечивая несколько лучшее качество текстурированного изображения. Имеено эта архитектура легла в основу графического чипсета от Fujitsu -- Marqius 2000.

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

Arabic Bulgarian Chinese Croatian Czech Danish Dutch English Estonian Finnish French German Greek Hebrew Hindi Hungarian Icelandic Indonesian Italian Japanese Korean Latvian Lithuanian Malagasy Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swedish Thai Turkish Vietnamese

definition - MIP-текстурирование MIP-текстурированиеМатериал из Википедии - свободной энциклопедии

Главная текстура и её уменьшенные копии

На всех этих текстурах находится одно и то же изображение. Таким образом, MIP-текстурирование увеличивает расход видеопамяти на треть: .

При наложении текстур вычисляется расстояние до объекта, соответственно находится номер текстуры как , где resolution - разрешение виртуальной камеры (количество пикселей, которое будет в объекте размером в 1 ед., расположенном в 1 ед. от камеры), texelsize - размер текселя в единицах трёхмерного мира, dist - расстояние до объекта в тех же единицах, mip bias - число, позволяющее выбирать более или менее детальную текстуру, чем даёт формула. Эта цифра округляется до целого, и текстура с соответствующим номером (нулевая - самая детальная, первая - вдвое меньшая и т. д.) накладывается на объект.

Недостатки, способы решения

MIP-текстурирование не решает проблему текстур, находящихся под острым углом к зрителю (например, дорога в автосимуляторе). У таких текстур разрешение по одной оси сильно отличается от разрешения по другой - и, например, по оси X изображение явно размыто, в то время как по оси Y видны мерцания, свойственные завышенному разрешению текстуры. Есть сразу несколько способов решения этого (начиная с наименее качественного):

  • Установить в видеодрайвере наиболее комфортное значение mip bias - числа́, которое отвечает за выбор номера текстуры в пирамиде. Если оно отрицательное, видеоплата берёт более детальные текстуры, если положительное - менее детальные.
  • Многие игры сами устанавливают подходящий mip bias для разных типов объектов. Например, в Live for Speed mip bias устанавливается пользователем отдельно для автомобилей, препятствий и дороги.
  • Воспользоваться анизотропной фильтрацией - методом текстурирования, который направлен именно на решение этой проблемы.
  • Наконец, видна чёткая граница между MIP-уровнями. Это решается трилинейной фильтрацией .

    Ссылки
    • Михаил Хабров Создание детальных текстур c помощью mip-map уровней в Direct3D8 . GameDev.ru (29 мая 2002 года). Проверено 12 июля 2009.

    Включает/отключает текстуру окружения карты (т.н. «скайбокс » или попросту небо).
    очень малое или нет.

    Включает/выключает режим использования текстур с разным разрешением в зависимости от дальности, что позволяет увеличить производительность и избавиться от шума на текстурах объектов, находящихся далеко от игрока.
    Влияние на производительность: малое.

    Подробнее о технологии мип-маппинга

    MIP mapping (от лат. multum in parvo - «много в малом») - метод текстурирования, использующий несколько копий одной текстуры с разной детализацией. Это страшное слово на самом деле означает изменение детализации текстур в зависимости от расстояния от камеры. Методика позволяет избавиться от шума на удалённых объектах и существенно повышает производительность отрисовки.

    Другими словами, мип-маппинг - это метод улучшения качества текстурных изображений при помощи использования текстур с разным разрешением для различных объектов одного и того же изображения, в зависимости от их размера и глубины. Таким образом, в памяти хранятся несколько копий текстурированного изображения в различных разрешениях. В результате этого изображение остается качественным при приближении к объекту и при удалении от него.

    При использовании этого метода вы увидите изображение в высоком разрешении, находясь близко от объекта, и изображение в низком разрешении при удалении от объекта. MIP-mapping снижает мерцание и «зашумлённость» изображения, возникающие при texture mapping.

    Мип-маппинг использует некоторые умные методы для упаковки данных о текстурах изображения в памяти. Чтобы использовать MIP mapping, необходимо, взяв все размеры текстур и умножив это число на два, построить одну карту наибольшего размера. Все карты меньшего размера обычно фильтруются и становятся усреднёнными и уменьшенными версиями самой большой карты.

    Изображение лучше всего выглядит, когда детализация текстуры близка к разрешению экрана. Если разрешение экрана высокое (текстура слишком маленькая/объект очень близко), получается размытое изображение. Если же разрешение текстуры слишком высокое (текстура слишком велика/объект очень далеко), получаем случайные пиксели - а значит, потерю мелких деталей, мерцание и большой процент промахов в кэш. Получается, что лучше иметь несколько текстур разной детализации и накладывать на объект ту, которая наиболее подходит в данной ситуации.

    Чтобы получить доступ к ручной настройке графических эффектов, приведённых ниже, снимите галочку с опции «Автоматическая настройка качества графики» в настройках. Если у вас нет этой опции, ознакомьтесь со статьёй «Отсутствие настроек графики » .

    Включает/отключает тени, отбрасываемые объектами на карте, включая танки и дроп .
    Влияние на производительность: высокое.

    Включает/отключает затенение малоосвещённых участков карты, что позволяет получить более объёмное изображение.
    Влияние на производительность: очень высокое.

    Включает/отключает дымку над картой.
    Влияние на производительность: очень малое или нет.