Texture downscale что это

What is texture downsampling (downscaling) using OpenGL?

I did not found any tutorial that explains how to downscale a texture using OpenGL.

For example if I have a 1024×720 texture and I want to generate downscale by the factor 1/4 how to do it?

Here’s a tutorial talking about downsampling.

UPDATE

I tried the following filtering code in my fragment shader:

Is this kind of code refers to downsampling algorithm?

Texture downscale что это. tyWaU. Texture downscale что это фото. Texture downscale что это-tyWaU. картинка Texture downscale что это. картинка tyWaU

2 Answers 2

There’s a few aspects here. If you already have the texture at the full size, I can’t really think of a good reason to create a downscaled texture from it. If you really want to sample it at less than the full resolution, you can just use it in a downscaled form.

Mipmapping

The main approach to use lower resolution versions of a texture in OpenGL is mipmapping. You can generate mipmaps for a texture texId with:

For the mipmaps to be used, the sampling parameters have to be set accordingly:

If you sample the texture now, it will use downscaled version depending on the size of the geometry you’re drawing.

Controlling mipmap levels

If you just do the above, the full resolution will still be used depending on the scaling of the texture in the output. You can prevent that by restricting which mipmap levels can be used. For example, if you want to exclude the lowest 4 mipmap levels from sampling:

Since each mipmap level is half the linear resolution of the previous one, this will sample at 1/16th of the linear resolution of the full texture.

Downscaling

And then copy the content into a new texture:

An alternate solution is to use glBlitFramebuffer() :

In this case, you don’t need mipmaps on the original texture. Even though the quality of the downsampling might not be very good if it is by more than a factor of 2.

Texture downscale что это. IYkz8. Texture downscale что это фото. Texture downscale что это-IYkz8. картинка Texture downscale что это. картинка IYkz8

Without knowing your reasons why you want to downsample a texture, here are are the options I can think of:

The offline process can use the approach from the linked tutorial to generate the lower MIP map levels, convoluting with a Gaussian filter first to get rid of the high frequencies and then throwing away 3/4 of the pixels (for the 2:1 downsampling case in both directions). If you know the pixels to throw away beforehand (e.g. downsampling by 2:1 in both directions) the convolution calculation for these pixels is wasted and can be left out.

You can certainly do it in a fragment shader but you have to make sure that the sampler is set to not filter (nearest neighbor).

Источник

О программе

Программа написана на Python. Позволяет из группы фотографий объекта с различных ракурсов получить 3D-модель этого объекта с текстурами. Внешний вид как модели, так и UV-развёртки, кажется, не отличается от результата 3D-сканирования, однако если нормальный (да и ненормальный) 3D-сканер позволить себе сможет не каждый, то фотоаппарат точно есть у всех.

Texture downscale что это. meshroom08. Texture downscale что это фото. Texture downscale что это-meshroom08. картинка Texture downscale что это. картинка meshroom08

Программа свободная, на сайте есть сборки под Windows и GNU/Linux. Исходники открыты, желающий может попробовать собрать и под другую ОС.

Для работы потребуется видеокарта с поддержкой CUDA.

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

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

Съёмка фото

Это не съёмка панорамы, здесь нет нужды возиться со штативом. Снимать можно с рук. Каких-либо требований к камере тоже нет – можно и на телефон (если камера на нём что-то из себя представляет, конечно). Нет необходимость соблюдать и какой-то конкретный порядок съёмки — требуется большое количество фото с разных углов, сделанных в любом порядке.

Объект для «сканирования» должен быть объёмным, т.к. плоский объект (лист дерева и т.п.) не позволит программе рассчитать глубину.

При съёмке необходимо перевести камеру в ручной режим: случайные изменения экспозиции в процессе съёмки полезными точно не окажутся.

Основное требование к снимкам – чёткость, ничего не должно быть смазано.

Рекомендуемое количество снимков – не менее 30. Вообще чем больше — тем лучше (правда, время обработки, очевидно, тоже будет увеличиваться). Если снимков будет слишком мало, программе может быть труднее реконструировать по ним трёхмерный объект.

Сначала вокруг объекта, потом ещё один круг чуть выше и т.д. Можно камеру приближать и отдалять, то есть снимать не только с разных ракурсов, но и с разного расстояния. Вероятно, это ещё больше упростит реконструкцию объекта по его фото.

Texture downscale что это. meshroom07. Texture downscale что это фото. Texture downscale что это-meshroom07. картинка Texture downscale что это. картинка meshroom07

Перетаскиваем снимки в Meshroom из файлового менеджера. Из метаданных считывается инфа о сенсоре и о камере. Зелёный кружок рядом с фоткой говорит о том, что всё считалось нормально. Жёлтый — значит, не все данные получены. Красный — с фотками совсем что-то не так, лучше их удалить.

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

По мере работы, сверху заполняется прогрессбар. Оный также имеется внизу, на нодах: по ним видно, какой нод сейчас обрабатывается и каков прогресс. Также можно сразу увидеть, в каком из нодов возникла проблема (всё, что левее — выполнено и окрашено зелёным, всё, что правее — не выполнено).

3. красный – ошибка. Возможные причины — нехватка ОЗУ, недостаточное количество фотографий.

Если в какой-то момент процесс остановится (обычно на прогрессбаре появляется красная полоса), можно попробовать нажать кнопку Start повторно – в некоторых случаях работа после этого может продолжиться (с того же места, где встала). Но только в некоторых — чаще остановка означает проблему, которая сама собой не решится.

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

Texture downscale что это. meshroom00. Texture downscale что это фото. Texture downscale что это-meshroom00. картинка Texture downscale что это. картинка meshroom00

Этапы работы программы

Каждый этап можно запускать отдельно. ПКМ по узлу — Compute. Все предыдущие узлы в этом случае будут просчитаны автоматически.

0. CameraInit. Создаёт SFM-файл, в котором содержится инфа о камере, размере матрицы и др. Этап выполняется сразу после загрузки фото, ещё до нажатия кнопки «Start».

1. FeatureExtraction. На этом этапе «извлекаются элементы из изображений» («The next step extracts features from the images»).

2. ImageMatching. Этап предварительной обработки. Здесь Meshroom выясняет, какие изображения имеет смысл сопоставлять друг с другом.

3. FeatureMatching. Поиск соответствий между изображениями.

5. PrepareDenseScene. Вроде как на этом этапе Meshroom делает что-то, направленное на борьбу с искажениями изображения («05_PrepareDenseScene’s primary function is to undistort the images»).

6. CameraConnection. Честно говоря, не понял, что конкретно тут происходит. Знающие приглашаются в комментарии для разъяснения.

7. DepthMap. Генерация карты глубины. Именно на этом этапе Meshroom провисит дольше всего. Для каждого изображения будет создана карта глубины в формате EXR.

8. DepthMapFilter. Карты глубины изначально не очень согласуются друг с другом. Некоторые карты глубины «видят» области, закрытые другими картами («certain depth maps will claim to see areas that are occluded by other depth maps»). Этап DepthMapFilter обеспечивает согласованность.

9. Meshing. Генерация меша.

10. MeshFiltering. Исправляет и дорабатывает сгенерированный меш. Сглаживание, удаление больших треугольников (которые сразу бросаются в глаза и заставляют лезть в аптечку за НИМ), удаление мелких кусков меша (при сохранении крупных).

11. Texturing. Создание UV-развёрток и проецирование на них текстур. Все тени и света сохраняются на своих местах («запекаются» в текстуру).

Настройка параметров

Ноды FeatureMatching, FeatureExtraction, StructureFromMotion: включаем Guided Matching. В качестве DescriberType включаем AKAZE.

Dense reconstruction

Уменьшение количества «соседних камер» (neighbour cameras, параметры SGM: Nb Neighbour Cameras, Refine: Nb Neighbour Cameras) уменьшит время обработки. Программе нужно минимум 3 камеры, 4-х вполне достаточно для хорошего результата во многих случаях.

MeshFiltering. Позволяет избегать дыр в меше, ограничивать количество крупных треугольников.

Я бы также обратил внимание на параметр Padding — что это такое, знает каждый, кто работал с UV-развёртками, и здесь он, видимо, по умолчанию несколько больше, чем нужно.

Unwrap Method имеет три варианта. Как поясняет всплывающая подсказка: Basic (> 600 тыс. фейсов) самый простой и основной, может сгенерировать несколько текстурных атласов, LSCM и ABF оптимизируют пространство и генерируют только один атлас. Последние 2 варианта подходят только для сцен, включающих не более 600 и не более 300 тысяч фейсов соответственно — если в сцене фейсов больше, на этапе Texturing возникнет ошибка. Уменьшить количество фейсов поможет нод MeshDecimate.

Можно также включить чекбокс Fill Holes.

Экспорт модели в Blender и обработка

Если реконструкция прошла успешно, возникнет вопрос о возможности экспорта модели в Blender (или ещё куда-то). Кнопки экспорта здесь нет, все файлы уже сохранены на диск автоматически.

Результаты расчётов сохраняются в папке MeshroomCache. Местонахождение зависит от того, куда сохранён файл проекта. Если файл сохранён не был — MeshroomCache будет в /tmp (для Linux, с виндовой версией не работал).

В MeshroomCache/Texturing будет obj, mtl и png-текстура.

Уже в Blender рекомендуется сделать Decimate (количество вертексов можно уменьшить в 5-10 раз без видимого вреда качеству), добавить модификатор Smooth (Repeat == около 3, Factor подбираем по своему усмотрению), включить Smooth Shading.

Из текстуры можно сразу сгенерировать (с помощью ColorRamp) roughness-map и bump-map.

Поскольку модель после такого «сканирования» будет зверски тяжёлой, а UV-развёртки — отвратительными, вероятно, имеет смысл сделать ретопологию, заново развернуть модель, а текстуры и рельеф запечь. Поскольку рельеф на сгенерированной модели физический, то карта нормалей должна получиться правильной (а не такой, какую генерируют программы типа CrazyBump).

Модель на выходе будет повёрнута под непотребным углом — надо повернуть.

Области, которые не были видны на фотографиях, на итоговой модели будут закрыты очень крупными треугольниками. Желательно их вручную довести до ума (в Blender это можно сделать в режиме скульпта с опцией Dyntopo).

Качественную высокополигональную модель, которая будет хорошо выглядеть без текстур, с помощью Meshroom получить сложно: обычно модель смотрится прилично только с текстурами. Несколько улучшить ситуацию могут модификаторы Smooth (2 шт.) и Displace.

Пример. Исходная модель.

Texture downscale что это. meshroom06. Texture downscale что это фото. Texture downscale что это-meshroom06. картинка Texture downscale что это. картинка meshroom06

Добавляем модификатор Smooth (количество итераций не стесняемся ставить большим, 50-100). Ненужный рельеф сгладился:

Texture downscale что это. meshroom05. Texture downscale что это фото. Texture downscale что это-meshroom05. картинка Texture downscale что это. картинка meshroom05

С помощью Displace пробуем вытянуть детали из текстуры:

Texture downscale что это. meshroom04. Texture downscale что это фото. Texture downscale что это-meshroom04. картинка Texture downscale что это. картинка meshroom04

Добавляем ещё один модификатор Smooth:

Texture downscale что это. meshroom03. Texture downscale что это фото. Texture downscale что это-meshroom03. картинка Texture downscale что это. картинка meshroom03

Сравниваем оригинальный меш и конечный:

Texture downscale что это. meshroom03a. Texture downscale что это фото. Texture downscale что это-meshroom03a. картинка Texture downscale что это. картинка meshroom03a

Результат явно заметен, но даже вариант справа далёк от идеала. К сожалению, добиться лучшего качества мне не удалось, так что дальнейшая работа — ручной скульптинг.

Decimate в Meshroom’е

Аппроксимацию можно выполнить и в Meshroom’е, для этого надо добавить (нажав ПКМ) нод MeshDecimate и воткнуть его между MeshFiltering и Texturing:

Texture downscale что это. meshroom02. Texture downscale что это фото. Texture downscale что это-meshroom02. картинка Texture downscale что это. картинка meshroom02

В свойствах (панель справа) можно задать минимальное и максимальное количество вершин.

Черновой меш

Далее будет объяснено, как сгенерировать быструю грубую сетку для предпросмотра.

Дублируем DepthMap и все ноды, идущие после (Duplicate Nodes from Here)

Texture downscale что это. meshroom01. Texture downscale что это фото. Texture downscale что это-meshroom01. картинка Texture downscale что это. картинка meshroom01

— Удаляем DepthMap и DelpthMapFilter

— Соединяем PrepareDenseScene.input с Meshing.input (да, тут можно инпут одного нода подключить к инпуту же другого)

— Соединяем PrepareDenseScene.output с Texturing.inputImagesFolders

Расчёт будет производится намного быстрее, но качество будет ниже, кроме того, это сработает только с «высокотекстурированными» (high-textured) объектами.

Полезные ссылки

© Denis Skiba aka Mapper720

Источник

Советы по настройке графики

Texture downscale что это. 6GVcY XY8ySL5wDmPdMVCA. Texture downscale что это фото. Texture downscale что это-6GVcY XY8ySL5wDmPdMVCA. картинка Texture downscale что это. картинка 6GVcY XY8ySL5wDmPdMVCA

[Streaming/Sectors/Filter]
AllowRigidBodies=true Загружает все модели в полном качестве рядом с игроком.(текстуры)
дописать в user ini

[Rendering]
HiResEntityShadowsForceFullRes=true Рисует тени в настоящем разрешении на всех обектах
EnableHighPrecision=true Выставляет игре приоритет реального времени
EnableDeferredLightsStencil=true Освещение чуть реалистичней
TextureStreamingReduceGameplayLOD=false Отключает ЛОД НПС(геометрия)
CharacterShadowsFallbackDistance=40 дистанция улучшенный тени НПС(геометрия)
дописать в user ini

[Streaming/Textures]
UseMipRefiner=true Смещение бампа высокого качества
ForceCinematicModeOn=true Освещение в игре из кат сцен
CinematicModeMipBias=0 Стандартное смещение бампа
дописать в user ini

[Rendering/SpeedTree]
GrassRingSize=33554432 Дальность загрузки ландшафта умножать на 2
изменить в user ini

\bin\config\base» and open «gc.ini
ObjectMemoryTrigger=512 уберает лаги частично.Хранит в памяти мусор по достижению 512мб выбрасывает из памяти

\bin\config\base\resources.ini
FileQueueSizeGame = 300 Заставляет игру юзать больше памяти
FileQueueSizeLoading = 700 Заставляет игру юзать больше памяти
MaxRequests = 45 Заставляет игру юзать больше памяти

пока без описания.Для версии 1.11 и видеокарт уровня 770 выдает стабильно 30 может больше если лок фпс убрать
Картинка размазана(мне так нравится больше) для резкости
[Streaming/Textures]
UseMipRefiner=true
ForceCinematicModeOn=true
CinematicModeMipBias=0
изменить в user ini

Из личного опыта самые требовательные настройки
FoliageDistanceScale=Дальность отображения растительность высокого качества
GrassDistanceScale=Дальность отображения травы высокого качества использующей затенения
CascadeShadowmapSize=Разрешения карт тени

Texture downscale что это. 6GVcY XY8ySL5wDmPdMVCA. Texture downscale что это фото. Texture downscale что это-6GVcY XY8ySL5wDmPdMVCA. картинка Texture downscale что это. картинка 6GVcY XY8ySL5wDmPdMVCA

Texture downscale что это. WFkHnVajC6pY5Dw0aJW50Q. Texture downscale что это фото. Texture downscale что это-WFkHnVajC6pY5Dw0aJW50Q. картинка Texture downscale что это. картинка WFkHnVajC6pY5Dw0aJW50Q

Texture downscale что это. hzGCS3H Ei0JqCXU1bVhAQ. Texture downscale что это фото. Texture downscale что это-hzGCS3H Ei0JqCXU1bVhAQ. картинка Texture downscale что это. картинка hzGCS3H Ei0JqCXU1bVhAQ

Texture downscale что это. kU G4iKedeKb687wPiVnEg. Texture downscale что это фото. Texture downscale что это-kU G4iKedeKb687wPiVnEg. картинка Texture downscale что это. картинка kU G4iKedeKb687wPiVnEg

Texture downscale что это. 6Mw5wmRTL5O51mb8HIYVNQ. Texture downscale что это фото. Texture downscale что это-6Mw5wmRTL5O51mb8HIYVNQ. картинка Texture downscale что это. картинка 6Mw5wmRTL5O51mb8HIYVNQ

Texture downscale что это. . Texture downscale что это фото. Texture downscale что это-. картинка Texture downscale что это. картинка

Texture downscale что это. . Texture downscale что это фото. Texture downscale что это-. картинка Texture downscale что это. картинка

Texture downscale что это. 6GVcY XY8ySL5wDmPdMVCA. Texture downscale что это фото. Texture downscale что это-6GVcY XY8ySL5wDmPdMVCA. картинка Texture downscale что это. картинка 6GVcY XY8ySL5wDmPdMVCA

Texture downscale что это. kU G4iKedeKb687wPiVnEg. Texture downscale что это фото. Texture downscale что это-kU G4iKedeKb687wPiVnEg. картинка Texture downscale что это. картинка kU G4iKedeKb687wPiVnEg

Texture downscale что это. 6GVcY XY8ySL5wDmPdMVCA. Texture downscale что это фото. Texture downscale что это-6GVcY XY8ySL5wDmPdMVCA. картинка Texture downscale что это. картинка 6GVcY XY8ySL5wDmPdMVCA

Texture downscale что это. kU G4iKedeKb687wPiVnEg. Texture downscale что это фото. Texture downscale что это-kU G4iKedeKb687wPiVnEg. картинка Texture downscale что это. картинка kU G4iKedeKb687wPiVnEg

Texture downscale что это. sSy2xWAIAF8 62eKOsnKhw. Texture downscale что это фото. Texture downscale что это-sSy2xWAIAF8 62eKOsnKhw. картинка Texture downscale что это. картинка sSy2xWAIAF8 62eKOsnKhw

Texture downscale что это. 6GVcY XY8ySL5wDmPdMVCA. Texture downscale что это фото. Texture downscale что это-6GVcY XY8ySL5wDmPdMVCA. картинка Texture downscale что это. картинка 6GVcY XY8ySL5wDmPdMVCA

MunchkiN 616
он там есть только в меньшей степени(просто мылет картинку)в вичери 2 тоже в конфиге было 2 позиции убера п положение 1 мыло в положение 2 тормоза ставилось тоже через конфиг

в самой игре тоже включается в файле рендерин(фпс не садит а картинку мылит)

Texture downscale что это. sSy2xWAIAF8 62eKOsnKhw. Texture downscale что это фото. Texture downscale что это-sSy2xWAIAF8 62eKOsnKhw. картинка Texture downscale что это. картинка sSy2xWAIAF8 62eKOsnKhw

Texture downscale что это. 6GVcY XY8ySL5wDmPdMVCA. Texture downscale что это фото. Texture downscale что это-6GVcY XY8ySL5wDmPdMVCA. картинка Texture downscale что это. картинка 6GVcY XY8ySL5wDmPdMVCA

Texture downscale что это. 59KSXPusuPec1MN22fIevg. Texture downscale что это фото. Texture downscale что это-59KSXPusuPec1MN22fIevg. картинка Texture downscale что это. картинка 59KSXPusuPec1MN22fIevg

Texture downscale что это. 6GVcY XY8ySL5wDmPdMVCA. Texture downscale что это фото. Texture downscale что это-6GVcY XY8ySL5wDmPdMVCA. картинка Texture downscale что это. картинка 6GVcY XY8ySL5wDmPdMVCA

Kosh13
что графику улучшать.ну и для экспериментов

Источник

Сделал downscale Дениса Ширяева до 360p с использованием новейших технологий

Пока все заняты апскейлом, я решил пойти против течения и обосноваться на свободной пока нише – даунскейлинг!

Поэтому хочу представить вам мои первые наработки в этой сфере. Для своих экспериментов я, недолго думая, выбрал Дениса Ширяева, ведь именно он стоит на острие прогресса апскейлинга и будет очень драматично, если на обратной стороне буду стоять я.

Так как шоу #хочугалочку закрыли, представляю вам логотип моей новой компании:

Итак, в первую очередь я выбрал фотографию Дениса. Тут сложностей не возникло, ведь все фотографии Дениса восхитительны. Я подогнал фотографию под горизонтальные пропорции, ведь DTF пока не умеет нормально выводить в ленту вертикальные превью.

Следующим шагом я создал основу для работы, площадку в 640 на 360 пикселей, куда в дальнейшем разместил фото Дениса для последующего даунскейлинга.

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

Следующим шагом было изучение необходимых параметров и подготовка искусственного интеллекта к даунскейлингу. Для этого я прошерстил тонну литературы и произвел массу пробных запусков, получив вот такие показатели.

Исходя из представленных выше данных, любому человеку должно быть очевидно, что при использовании модуля Mosaic Pixelate на фотографии Дениса, необходимо выставлять значение 22, что я и сделал.

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

Что мы получили на выходе? Великолепный снимок Дениса после даунскейлинга до 360p. Я считаю, что результат получился достойным и оправдывает потраченные на него ресурсы, в виде времени, сил и покупки интегрированной видеокарты. Я не планирую на этом останавливаться и, возможно, в будущем мы сделаем даунскейл Дениса до 144p.

@Denis Shiryaev
Что скажешь? Мне очень важно твое мнение, как специалиста.

Бро, спасибо 💖 стало намного лучше чем было

Спасибо, бро 💖 Ты мотивируешь меня совершенствоваться!

Как специалист по классным мужчинам скажу, ты справился с задачей. Ширяевость никуда не исчезла и это отлично!

Произвел операцию по даунскейлу авки лаки до 32на32
Можно брать и в Кроссинг пихать

Вот всегда так. Только найдешь золотую жилу, тут же появляются конкуренты!

Интересно, до каких пор нужно уменьшать фотографию члена, чтобы ее не забанили на DTF

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

Считаю, что проделана гениальная работа и такое нельзя оставлять без внимания. Прошу распространять это везде, где только возможно. Спасибо!

Источник

Atlas texture downscale что это

Дубликаты не найдены

Это точно топ 15 сайтов с текстурами и материалами.

Дак сколько там сайтов с бесплатными текстурами? Кто то понял?

Вот и я про это же. Край просто дичь какая-то, куча воды и огромное вступление!

Спасибо, полезно будет в работе.

Ог-го! Неплохо, затестю на выходных.

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

Атласы

При помещении текстуры в атлас теряется свойство режима GL_CLAMP_TO_EDGE, ведь теперь он работает на границах всего атласа. А раз нет дублирования границ у элементов атласа, то и стыки могут сломаться.

Texture downscale что это. 998155b7e024f33e29fcc396ef9a475c. Texture downscale что это фото. Texture downscale что это-998155b7e024f33e29fcc396ef9a475c. картинка Texture downscale что это. картинка 998155b7e024f33e29fcc396ef9a475c

Просветы в меде при помещении текстур в атлас

Тут на помощь приходит дублирование внешней границы стыкующихся элементов в самом атласе. Размер рамки зависит от масштаба отрисовки, обычно хватает 1-2 пикселей. При масштабе >= 1 достаточно однопиксельной рамки. Лишь в случае уменьшения требуется 2 и более пикселей.

Atlas texture downscale что это

Texture downscale что это. header menu hamburger. Texture downscale что это фото. Texture downscale что это-header menu hamburger. картинка Texture downscale что это. картинка header menu hamburger

Texture downscale что это. 6b9e205c389185a4b0e079a13090c751e47375d2. Texture downscale что это фото. Texture downscale что это-6b9e205c389185a4b0e079a13090c751e47375d2. картинка Texture downscale что это. картинка 6b9e205c389185a4b0e079a13090c751e47375d2

Evolve Stage 2

Logging video adapters:
— NVIDIA GeForce GTX 295 (vendor = 0x10de, device = 0x05eb)
— Adapter index: 0
— Dedicated video memory: 871 MB
— Feature level: DX10 (SM 4.0)
— Displays connected: yes
— Suitable rendering device: no
— NVIDIA GeForce GTX 295 (vendor = 0x10de, device = 0x05eb)
— Adapter index: 1
— Dedicated video memory: 871 MB
— Feature level: DX10 (SM 4.0)
— Displays connected: no
— Suitable rendering device: no
Couldn’t allocate specular probe texture atlas

я понял суть проблемы! выводы из этого лога в том, что игра не поддерживает видеокарты в режими SLI и с двумя ядрами. Игра тупо не находит нужный монитор и пишет, что вообще видео не воспроизводится и выдает такую ошибку. Затра*ли. как будто впервые разрабы видят мониторы с HD разрешением и видеокарты только вчера по их мнению стали выпускать со SLI

Logging video adapters:
— NVIDIA GeForce GTX 295 (vendor = 0x10de, device = 0x05eb)
— Adapter index: 0
— Dedicated video memory: 871 MB
— Feature level: DX10 (SM 4.0)
— Displays connected: yes
— Suitable rendering device: no
— NVIDIA GeForce GTX 295 (vendor = 0x10de, device = 0x05eb)
— Adapter index: 1
— Dedicated video memory: 871 MB
— Feature level: DX10 (SM 4.0)
— Displays connected: no
— Suitable rendering device: no
Couldn’t allocate specular probe texture atlas

я понял суть проблемы! выводы из этого лога в том, что игра не поддерживает видеокарты в режими SLI и с двумя ядрами. Игра тупо не находит нужный монитор и пишет, что вообще видео не воспроизводится и выдает такую ошибку. Затра*ли. как будто впервые разрабы видят мониторы с HD разрешением и видеокарты только вчера по их мнению стали выпускать со SLI

Текстура из того что было под ногами

200 фото на Nexus 5х и вот результат:

В оригинале была 8к текстура, но детализации это ощутимо не прибавляло, а памяти кушает в 4 раза больше, так что ужал до 4к 32-bit EXR.

Texture downscale что это. 1508496611134378268. Texture downscale что это фото. Texture downscale что это-1508496611134378268. картинка Texture downscale что это. картинка 1508496611134378268

Texture downscale что это. 150849664312767138. Texture downscale что это фото. Texture downscale что это-150849664312767138. картинка Texture downscale что это. картинка 150849664312767138

Atlas texture downscale что это

Многие игроки, скорее всего, сталкивались с проблемой замыливания и стриминга текстур (загрузка «на ходу»).

3) Файл «iphlpapi.dll» из архива «Loose Files Loader 1.1.zip» распаковать в корень папки Control, где находится исполняемый файл. К примеру: c:\STEAM\STEAMAPPS\common\Control\

5) В папке «\data\globaldb\» находится пустой шаблон «tweakables.xml» для настроек мода.

В файл «tweakables.xml» необходимо вставить следующее (с заменой исходного текста!):

Для тех, кто не хочет разбираться с настройками, можете скачать готовый набор по ссылке:

Распаковываем в корневую папку Control.

Положительный эффект от установки мода Вы можете оценить по двум скриншотам:

Пиксельные шейдеры

Стоит лишь задуматься, как происходит рисование текстуры в нецелых координатах в единичном масштабе, как сразу возникает проблема алиасинга границы. Дело в том, что железо рассчитывает в пиксельном шейдере физические пиксели, и для нашей дробной границы происходит смещение текстурных координат s,t за пределы [0..1]. В режиме GL_CLAMP_TO_EDGE при выходе за границы текстуры происходит дублирование рамки. Для текстур, которые стыкуются, это нормально, а вот для различных спрайтов возникают утолщения.

Texture downscale что это. e95cb247c80a0e60a18bee5f2fc32859. Texture downscale что это фото. Texture downscale что это-e95cb247c80a0e60a18bee5f2fc32859. картинка Texture downscale что это. картинка e95cb247c80a0e60a18bee5f2fc32859

Чтобы не рябили края спрайта достаточно сделать однопиксельную (для масштаба 1) или 2-х пиксельную (для масштаба 0.5) прозрачную рамку и рисовать ее как часть спрайта. Иными словами, команда trim в графическом редакторе не только удаляет прозрачность, но и добавляет проблему алиасинга. Поэтому правильнее будет делать trim, а вслед за ним увеличивать полотно относительно центра на 2 пикселя (обычная графика) или 4 пикселя (retina графика с возможностью downscale).

Texture downscale что это. 667117b9234b2645464fe87ae9b0d4d7. Texture downscale что это фото. Texture downscale что это-667117b9234b2645464fe87ae9b0d4d7. картинка Texture downscale что это. картинка 667117b9234b2645464fe87ae9b0d4d7

Texture downscale что это. 4adbef9dadcb6e4074a50c5a83616c0a. Texture downscale что это фото. Texture downscale что это-4adbef9dadcb6e4074a50c5a83616c0a. картинка Texture downscale что это. картинка 4adbef9dadcb6e4074a50c5a83616c0a

Пример алиасинга границы (сверху) и плавного движения (снизу)

Для 3D, кстати, идея overdraw тоже работает, но реализация требует предварительных расчетов и формирования дополнительных треугольников с прозрачностью.

Сжатые атласы

Чтобы игра могла работать на устройствах с небольшим размером оперативной памяти приходится сжимать атласы в один из доступных форматов: PVRTC, ETC1, DXT1, DXT5, ETC2 и т.д.

Особенность этих аппаратных форматов — разделение всей текстуры на блоки размером 4×4 и дальнейшее сжатие с потерями. Помимо блочности, для каждого блока доступно как правило не более 2 базовых цветов. В итоге все 16 пикселей блока получаются выбором из 4 возможных значений, рассчитанных каким-то образом на основе базовых цветов.

Для форматов с независимыми блоками (ETC1/2, DXT1/5) достаточно расширить каждый элемент, который помещается в обычный атлас, до прямоугольника с размером кратным 4 пикселям. В таком случае соседние элементы не будут влиять друг на друга.

Texture downscale что это. e319c69045b52c1206250db55ff736c9. Texture downscale что это фото. Texture downscale что это-e319c69045b52c1206250db55ff736c9. картинка Texture downscale что это. картинка e319c69045b52c1206250db55ff736c9

Пример обособленности элементов атласа в блоках 4×4

Для формата PVRTC, где почти на каждый пиксель оказывают влияние цвета 4 смежных блоков, приходится разводить элементы атласа на расстояние в 4 пикселя. Это достигается за счет формирования 2-х пиксельной защитной области по контуру каждого элемента атласа, причем полезная область в этом случае центрируется.

Texture downscale что это. 698a266eae70a0225c0877fd681d3e70. Texture downscale что это фото. Texture downscale что это-698a266eae70a0225c0877fd681d3e70. картинка Texture downscale что это. картинка 698a266eae70a0225c0877fd681d3e70

Для полигональных атласов помогает соблюдение дистанции между соседними элементами.

Итоги

Рассмотренные методы объединяет специальная обработка графических данных: как отдельных текстур, так и элементов атласа. Такая обработка хорошо автоматизируется и, как правило, не отвлекает сотрудников от творческого процесса.

Поэтому в опросе наиболее общий правильный ответ — 6, «Так и должно было получиться, ведь мы не подготовили графические данные». Замечу, что это не умаляет полезности других способов.

Теперь самое время задуматься и спросить: «что умеет делать используемый сборщик ресурсов и предусмотрена ли подготовка графических данных процессами?»

Билинейная фильтрация текстур

На мобильных платформах используется билинейная фильтрация текстур, чтобы спрайты могли двигаться плавно и на разных разрешениях не расплываться на пиксели. В терминах OpenGL ES это параметр GL_LINEAR:

Texture downscale что это. ef5ee796b618b8837378a50095fcce94. Texture downscale что это фото. Texture downscale что это-ef5ee796b618b8837378a50095fcce94. картинка Texture downscale что это. картинка ef5ee796b618b8837378a50095fcce94

Пример увеличения в 4 раза (по центру GL_NEAREST, справа GL_LINEAR).

Texture downscale что это. 6afd1ee40f06968da91506709f1a5cf9. Texture downscale что это фото. Texture downscale что это-6afd1ee40f06968da91506709f1a5cf9. картинка Texture downscale что это. картинка 6afd1ee40f06968da91506709f1a5cf9

Пример уменьшения в 2 раза (по центру GL_NEAREST, справа GL_LINEAR).

Texture downscale что это. f3bf0b3e0e2e67b83b6b3dc9d0c6a04b. Texture downscale что это фото. Texture downscale что это-f3bf0b3e0e2e67b83b6b3dc9d0c6a04b. картинка Texture downscale что это. картинка f3bf0b3e0e2e67b83b6b3dc9d0c6a04b

В игре видны белые артефакты у веток деревьев, хотя в редакторе ничего такого нет. По описанию все как здесь

Когда текстура нарисована с масштабом отличным от 1.0 или с дробными координатами, на границе с прозрачностью возникают цветовые артефакты. Дело в том, что OpenGL ES для обычных RGBA-текстур сначала независимо интерполирует каналы R,G,B,A, и лишь потом этот результат смешивается с экраном. Если для канала с альфой (A) интерполирование выглядит естественным, то для цветовых каналов R,G,B ранее невидимые пиксели начинают влиять на видимых соседей на границе объекта.

Как одно из решений проблемы предлагается использовать текстуры с предумноженной альфой (premultiplied alpha), тогда интерполирование будет происходит без артефактов. Именно режим premultiplied alpha полезен при отрисовке графики в таргет, в частности при самостоятельной реализации сглаживания 3D-моделей средствами OpenGL ES 2.0.

Альтернативное решение — добавлять обводки в прозрачных областях. Для этого прозрачные пиксели заимствуют цвет от непрозрачного соседа или усредняют цвета от нескольких непрозрачных соседей. Такой расчет удобно проводить фронтом волны от границы прозрачного с непрозрачным.

Texture downscale что это. 5d0adf5a655498f0ddf7cebc3b1a666b. Texture downscale что это фото. Texture downscale что это-5d0adf5a655498f0ddf7cebc3b1a666b. картинка Texture downscale что это. картинка 5d0adf5a655498f0ddf7cebc3b1a666b

Пример 2-х пиксельной обводки в прозрачной области (крайняя справа)

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

couldn’t allocate specular probe texture atlas

Texture downscale что это. . Texture downscale что это фото. Texture downscale что это-. картинка Texture downscale что это. картинка

Texture downscale что это. zP2qYRLF4BpiSXFFaJCQdg. Texture downscale что это фото. Texture downscale что это-zP2qYRLF4BpiSXFFaJCQdg. картинка Texture downscale что это. картинка zP2qYRLF4BpiSXFFaJCQdg

Texture downscale что это. kpPo K mGUJbWIoicGN8uQ. Texture downscale что это фото. Texture downscale что это-kpPo K mGUJbWIoicGN8uQ. картинка Texture downscale что это. картинка kpPo K mGUJbWIoicGN8uQ

требования к игре сравни со своим компом, скорее всего у тебя ресурсов не хватает

Texture downscale что это. 6GVcY XY8ySL5wDmPdMVCA. Texture downscale что это фото. Texture downscale что это-6GVcY XY8ySL5wDmPdMVCA. картинка Texture downscale что это. картинка 6GVcY XY8ySL5wDmPdMVCA

nazhdachka
Видеокарта: NVIDIA VIDEO CARD: GeForce GTX 560, 1GB ATI VIDEO CARD: Radeon HD 5770, 1GB

у меня nvidia geforce 250 вроде 1 гиг

Texture downscale что это. kpPo K mGUJbWIoicGN8uQ. Texture downscale что это фото. Texture downscale что это-kpPo K mGUJbWIoicGN8uQ. картинка Texture downscale что это. картинка kpPo K mGUJbWIoicGN8uQ

Зайди в меню пуск нажми ПКМ на компьюетр, нажми на свойства, потом диспетчер устройств, потом видеоадаптеры и смотри какая у тебя видюха

Разбираем ЛКП по косточкам.

Texture downscale что это. 1478835748169336677. Texture downscale что это фото. Texture downscale что это-1478835748169336677. картинка Texture downscale что это. картинка 1478835748169336677

Texture downscale что это. 147883577915145802. Texture downscale что это фото. Texture downscale что это-147883577915145802. картинка Texture downscale что это. картинка 147883577915145802

Оки-доки, раскидываю как есть. Для начала разберем из каких слоев в совокупности состоит этот материал.

Texture downscale что это. 1478835788134991511. Texture downscale что это фото. Texture downscale что это-1478835788134991511. картинка Texture downscale что это. картинка 1478835788134991511

Самый нижний слой прост как палка, матовый крашенный материал, именно он задает основной цвет и заливает собой основную площадь.

Texture downscale что это. 1478835874133063756. Texture downscale что это фото. Texture downscale что это-1478835874133063756. картинка Texture downscale что это. картинка 1478835874133063756

Поверху накладываются «хлопья» блестяшки, которые переливаются в зависимости от угла обзора. Раньше приходилось бы их делать отдельной картой нормалей, но благо с некоторого времени в визуализаторе Vray появилась текстурка flakes (да и carpaint готовый там тоже есть).

Texture downscale что это. 147883604911586619. Texture downscale что это фото. Texture downscale что это-147883604911586619. картинка Texture downscale что это. картинка 147883604911586619

Сверху все это лакируется. Обратите внимание на то, что материал лака имеет свои неровности. Это заметнее всего при острых углах обзора и в движении, когда отражение немного переливается по волнам.

Texture downscale что это. 1478836220162532915. Texture downscale что это фото. Texture downscale что это-1478836220162532915. картинка Texture downscale что это. картинка 1478836220162532915

Следом идут царапинки.

Texture downscale что это. 1478836332133032131. Texture downscale что это фото. Texture downscale что это-1478836332133032131. картинка Texture downscale что это. картинка 1478836332133032131

Вот они то мне весь мозг вынесли. Я пробовал и ЧБ bump и карты нормалей и процедурные царапины и поворот анизотропии с шагом 30 градусов. Все это не давало нужного результата, я хотел получить ярко выраженный ореол царапин. Потом я представил царапины в гигантском масштабе, ведь это целый каньон на поверности ЛКП. И решил смоделировать царапины «по честному».

Texture downscale что это. 1478836660131757872. Texture downscale что это фото. Texture downscale что это-1478836660131757872. картинка Texture downscale что это. картинка 1478836660131757872

сделал всего 1 канавку и расклонировал её по площади на квадрате.

Texture downscale что это. 1478836539115316810. Texture downscale что это фото. Texture downscale что это-1478836539115316810. картинка Texture downscale что это. картинка 1478836539115316810

Texture downscale что это. 1478836547133968030. Texture downscale что это фото. Texture downscale что это-1478836547133968030. картинка Texture downscale что это. картинка 1478836547133968030

Затем отрендерил засеянное поле с царапинами в 8к текстуру без каких либо фильтраций и сглаживаний. 8192*8192 разрешение тоже неспроста. Нужно, чтобы получилось именно жесткое сочетание граней нашей царапины без разрывов в пикселях. При такой плотности и масштабе линий только 8к разрешение позволило отрендерить их без разрывов, можно и 16к, но это уже Эребор. Примерно так при ближайшем рассмотрении.

Texture downscale что это. 147883657611492859. Texture downscale что это фото. Texture downscale что это-147883657611492859. картинка Texture downscale что это. картинка 147883657611492859

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

Texture downscale что это. 1478837025130521349. Texture downscale что это фото. Texture downscale что это-1478837025130521349. картинка Texture downscale что это. картинка 1478837025130521349

Texture downscale что это. 1478837810138689906. Texture downscale что это фото. Texture downscale что это-1478837810138689906. картинка Texture downscale что это. картинка 1478837810138689906

Еще чуть не забыл, еле заметные пятнышки не знаю от чего, прост чтобы были.

Texture downscale что это. 1478837692175858490. Texture downscale что это фото. Texture downscale что это-1478837692175858490. картинка Texture downscale что это. картинка 1478837692175858490

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

Я вам тут текстурку принёс

ссылка на скачивание в комментариях

Texture downscale что это. 1493090428140137857. Texture downscale что это фото. Texture downscale что это-1493090428140137857. картинка Texture downscale что это. картинка 1493090428140137857

Как побороть распространенные артефакты графики

Художники нарисовали яркую графику, программисты встроили ее в игру, аниматоры добавили движения — казалось бы, все, готово. Но нет, менеджерам не нравится:

«Надо убрать серые пятна и белые линии. Тут пульсирующая кнопка дергается, там прогресс-бар лесенкой идет».

Смотришь игровые ресурсы — нет в них ничего такого, все спрайты обрезаны. Читаешь код — формулы правильные, точности шейдера хватает. Но результат все равно получился неважный. Где ошибка?

Texture downscale что это. 769c85d203eb4cc95b4d5e75e4393f17. Texture downscale что это фото. Texture downscale что это-769c85d203eb4cc95b4d5e75e4393f17. картинка Texture downscale что это. картинка 769c85d203eb4cc95b4d5e75e4393f17

Небольшой опрос для тех, кто уже знает откуда берутся артефакты. Что делать в такой ситуации?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *