texture library for OSM 3D

Hello Hind,
great job!
I have support from several countries, so I think we can speaak about next step: Implementation of ideas for intuitive texturing.
Would anyone help with this work?
To be precise: Further development of the plugIn Kendzi3D for JOSM.

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

Marek, could you please publish a kind of manual on “now-to-create-texture”? :wink:

Hello,
of course, I´ll do it. But it takes time. Please give me 1 week.
I wrote already the page:

http://wiki.openstreetmap.org/wiki/DE:Phototexturing

but there is nothing about “искусство”. Not all orthogonal made pictures are ok for preparating of texture.

Hind,
считаю, обязательно должен быть указан автор и явно указана лицензия для каждой текстуры.

Так, началось. Всё будет. В БД всё предусмотрено, при редактировании тоже есть необходимые поля. Просто в выводе не пишется. :slight_smile:

Hind, в хотелки: куда-то в поля средний цвет.

а API знамо же для чего - текстуры по surface натягивать, в автоматическом режиме :slight_smile:

Хостинг найти, думаю, можно.

пригодились бы ещё признаки типа “текстуру надо повторять целое/нецелое число раз по этой/той оси”, или что-то типа :3

Mostly it depends on the building. But you’re right: Some textures are developed only for horizontal e.g. : http://wiki.openstreetmap.org/wiki/File:DE_21_B4_Wellblech0001.jpg
or vertical repeating - it is usful information. Good idea.

Я сам всё это придумал ещё ночью. :slight_smile:
И как автоопределять (!) средний цвет плюс средний цвет в человекочитаемом виде, и как показывать повторяемость.

Обязательно реализую это.

Ну, с сервером там всё не так уж плохо, Hetzner, 10 Мбит/c, 5 Тб в месяц, сервер стоит почти пустой, так что пока проблем нет. Но если трафик достигнет половины месячного лимита, буду думать, где брать средства :3

Еще было бы круто микронаборчики текстур делать: окно + стена + двери к примеру. Либо стена + окно + балкон. Для типового отечественного строительства - будет очень удобно: нашел стеночку - и к нему балкончики, окошечки, крышу и подъезды в одном флаконе. Наверное 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, это удобно для последующей корректировки цветовой температуры в редакторе, и выравнивания яркости.

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