texture library for OSM 3D

Еще было бы круто микронаборчики текстур делать: окно + стена + двери к примеру. Либо стена + окно + балкон. Для типового отечественного строительства - будет очень удобно: нашел стеночку - и к нему балкончики, окошечки, крышу и подъезды в одном флаконе. Наверное hind об этом уже то-же подумал :slight_smile:

Hello dkiselev,
of course, the multitexturing is the idea behind.

There are 3 possible solutions fot texturing:

  1. Generalization ( Looks like shit)
  2. Millions of textures because the most buildings are a little different (impossible)
  3. Multitexturing - putting of typical window, doors etc. on typical facades. ( OSM need new software for this reason)

Рамблеровские сервера в качестве хостинга не подойдут?

Рамблеровские сервера вполне подойдут, нужен только быстрый фронтенд для отдачи статики, mysql и php для динамики и imagemagick для конвертирования. Ну и свободного места желательно over 9000. Но конкретно сейчас, на этапе разработки, я не готов это куда-то переносить. Через месяц-два поглядим.

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

Users from Finnlad have suggested, it would be nice to have description of workflow of texture making. I´ll do it next days.

I personally use photoshop over 20 years, but you can also use free software for this reason.

I wrote also the page:
http://wiki.openstreetmap.org/wiki/Seamless_Textures
the content - how to generate seamless texture alone.

Some content is now only in german but i hope in next days is everything translated into english.

хорошо бы еще возможность теги ставить к текстуре на разных языках - чтобы и “обои” и “wallpaper” было, и еще “розовый” и “pink”

Hi Mir76,
this is wishful idea, but i don´t know how to do it. Maybe some ideas of other users?

For me personally is it sometimes difficult to find good word for naming of each texture.
I use sometimes german, sometimes english words.

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

  1. Все текстуры масштабные. (в метрах, значение масштаба заранее известно и автор текстуры его указывает) в противном случае ПО рисующее модели зданий, не сможет в автоматическом режиме накладывать текстуры на здания. А если и сможет, то не будет соблюдём масштаб.
  2. Все текстуры бесшовные. (для мозаичных текстур, камни, плитка, кирпичи и т.д.) Для простых тестур достаточно использовать встроенные средства Гимпа, по созданию бесшовных текстур, для сложных понадобится некоторый ручной труд.
  3. Текстуры могут содержать следующие каналы (на каждый канал 1 рисунок):
    а) Диффузный, это как-раз то что принято считать текстурой, основная её часть, то, что мы обычно видим.
    б) Бамп, или карта нормалей (что лучше, но труднее) Грубо говоря, это битовая карта высот поверхности, Выглядит как чёрно белая (серая) картинка, более высокие точки белый цвет, более низкие (например если текстура плитки, то стыки между плитками) - чёрный цвет.
    в) Карта отражений. Специфическая текстура, для сложных поверхностей, включающая как бликующие материалы так и нет (например каменная мостовая, где камни бликуют, а бетон между камнями диффузный). Может быть как Ч/Б так и в цвете.
    г) Карта прозрачностей. Характерна для окон, стёкл, решоток, заборов, листвы, травы и т.д. Ч/Б (градации серого) карта показывающая степень светопроницаемости. Если текстура изначально в png формате, то прозрачность можно хранить и тут, но не всякий софт это понимает, и не всегда это удобно.

Предлагаю, для сайта организовать возможность, для каждой текстуры добавлять нужные каналы. И на основании “полноты” текстуры оценивать её качество. Это Особенно важно, так-как объекты низкополигональные, и планируется автоматическое текстурирование объектов.

Насчёт такого подхода к хранению текстур, объясню почему. Текстур в интернете много!!! (сайтов где их можно найти по любыми лицензиями не меньше) но 95% того, что называют текстурой, по факту её не является, а является сырым материалом, над которым нужно ещё шаманить в ручную, выравнивать яркость, убирать дисторсию, создавать каналы и т.д. Так что лучше пусть текстур будем меньше но они будут качественнее!

Парочку советов, как сделать хорошую текстуру:

  1. Дождитесь пасмурной погоды, равномерное освещённое небо позволяет получить качественный равномерный свет, по всей поверхности. (Осенние дни для этого самое то)
  2. Старайтесь фотографировать поверхность на длиннофокусный телеобъектив, соответственно находясь по возможности дальше от самой поверхности. Тем самым вы уменьшите перспективные искажения текстуры, и дисторсию.
  3. Старайтесь фотографировать под углом 90 градусов к поверхности, ну тут без комментариев
  4. Если вы фотографируете текстуру которая предполагает прозрачность, по возможности используйте однородный фон находящийся за текстурой (В идеале цветной лист матовой бумаги), либо делайте несколько фотографий с разными фонами (потом в графическом редакторе будет проще отделять зёрна от плевел.
  5. Используйте штатив.
  6. Если текстура очень сложная (рельефная поверность), то для последующего воссоздания объёма (рельефности) может понадобится серия фотографий сделанная со штатива с разными источниками света. Например 1) фотография 1 сделанная при диффузном рассеянном свете неба 2) та-же поверхность освещённая вспышкой (либо другим источником света) преимущественно сбоку (с боков, сверху или снизу)
  7. Фотографируйте в RAW, это удобно для последующей корректировки цветовой температуры в редакторе, и выравнивания яркости.

Продолжая о текстурах. Ещё хорошо текстуры объединять в некие логические единицы - серию. Характерно для мозаичных текстур, Например панельный дом: Для качественного отображения дома, удобно использовать бесщовную текстуру размером с панель дома. но если такая текстура будет одна, то, дом будет выглядеть очень не естественно. Оптимальный выход из ситуации это серия текстур панелей, которые потом можно комбинировать произвольно. Так-же в серию могут входить панели, например с дефектами, или рисунком (на домах такое часто бывает). То-же самое и для кирпичных домов. Размер и текстур в серии желательно делать одинаковым, и уж точно делать с одинаковым масштаб.

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

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

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

Я писал о мультитекстурировании в разделе форума про OSM 3D. По сути, предлагается возможность создания композиционных материалов на уровне сайта. Про экспорт в формат, например, blender пока даже не заикаюсь.

Кстати, Hind, если-вы сделаете возможность покупать и продавать (либо хотя-бы донейтить авторам) текстуры на сайте, например можно для больших разрешений - коммерческие лицензии (ну или по желанию автора) а для маленьких CC. То цены такому сайту прямо таки не будет!!! потому что сейчас стоковых магазинов специализирующихся на правильных текстурах попросту нету!!! А потребность есть, и будет только возрастать. Проект может быть вполне коммерческий! и при этом при должном подходе не противоречить духу опенсурса. То что я описываю шейдеры, да это так, но что-бы создавать правильные шейдеры автоматом, нужно сначала создать правильные текстуры.

Oksion,
понимаеш по-английски? Thank You for good ideas as first!
If yes, please help with the wiki page: http://wiki.openstreetmap.org/wiki/Phototexturing#Light.2C_time_and_weather_conditions .
You wrote in russian about pictures making for fototexturing. Please, write in wiki Yout tipp and trics.
When You are unsure with english - don´t worry. I personally can read, but not gramatically write.
More important is good information for the users.

marek kleciak Hi, I’m not very good for understanding English, but good at texturing theme. I can do the translation page into Russian. By the way thanks for the link, the article is very good.

Oksion,
отлично!
No problem: english is for me problematic too.
напиши это в русском языке. I can translate it in german and people from germany makes translation it in english;)

Important is controlling: the same definitions in different language versions. Can Vvoovv help here?

Привет,
Marek

Можно добавить в вики ссылку на классическую статью, как сделать карту нормалей из фотографий:
http://zarria.net/nrmphoto/nrmphoto.html

Of course.
Our small problem is: 8 or 10 peeple which are “experts”
I afraid: when we show everything, it could be too complicated for a lot of users.

Maybe as the first: good and simply examples in simply osm 3d editor.

Котяра, is it possible to add textures to Your online tool?

Перевёл, страницу, дополняйте, редактируйте.