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

Даже во времена, когда 3D было в зачаточном состоянии и речь шла только о шейдинге по Гуро и Фонгу, все инструменты и API были как-то несовместимы, когда речь шла о свойствах материала/поверхности! Поэтому мы использовали всевозможные эвристики, точнее: хаки и коэффициенты масштабирования, чтобы получить одинаковые результаты в разных целевых системах. Дальше, как обычно, все стало не проще, а сложнее — в плане новых параметров, коэффициентов и т.д.

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

Сегодня практически невозможно обращаться к нескольким 3D-системам с нетривиальными описаниями материалов одним и тем же способом. К счастью, одновременно растет среднее количество потенциальных целевых систем! Многоканальность, многоканальность... означает, что вам необходимо поддерживать 2, 3, 4 системы или даже больше! Очень плохо.

Еще один аспект… люди из промышленности думают реальными материалами и операциями, применяемыми к ним, а не коэффициентами блеска Фонга или кодом шейдера! Только несколько парней из индустрии также являются экспертами в компьютерной графике, честно говоря, никогда не встречались ни с одним…

Итак, есть ли в этом Happy End? Позвольте мне рассказать вам, как мы решили эту проблему в Smart3D… Мы ограничиваем наш Материал параметрами отражения Фонга, старым добрым золотым стандартом в 3D! Кроме того, мы представляем метаматериал, который добавляет расширенные свойства к материалам, одним из которых является таксономия, основанная на реальных материалах, соответствующих атрибутах и ​​реальных обработках поверхности. Между материалами и метаматериалами существует отношение n:1, что упрощает работу с большим количеством материалов с помощью всего нескольких метаматериалов. Метаматериал обрабатывается вместе с материалом, и таким образом получают некоторые параметры материала, такие как цвета.

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

Вы все еще не можете насытиться этим?! Тогда загляните в Таксономию [XSD], а также в научную статью.