Помимо существующих ответов, мне нравится, как трехмерные текстуры могут создаваться также процедурно (на самом деле это имеет больше смысла, чем двухмерная процедурная текстура), например, шум и фракталы, которые обеспечивают хорошие и недеформированные детали текстуры для любых угловых поверхностей без необходимости выбрать модель проекции (УФ, плоскую, цилиндрическую, сферическую и т. д.).
Вместо выборки растрового слоя в трехмерном пространстве вы получаете отдельное значение для каждой точки в трехмерном пространстве с помощью базового алгоритма, который в основном дает вам бесконечное разрешение текстур и никаких проблем с растянутыми текстурами на угловых полигонах. Это 3D "текстуры" или точнее затенение поверхности для меня ^^
Я на самом деле очень устал от всех нюансов растровых текстур в разработке игр, когда я хочу испачкать космический корабль, я хочу применить несколько слоев формул шума и не нужно рисовать растровое изображение с ограниченным разрешением. Старый 3D-бафф может мечтать, не так ли;)
Прямо сейчас, предварительная выпечка этих милых, старых школьных 3D-решений для обработки поверхностей в цветных, обычных и зеркальных УФ-изображениях - это единственное развлечение, которое я испытываю, и это досадно ограничивает. Демо-сцена (как всегда) имеет тенденцию (предварительно) генерировать текстуры процедурно для 3D в реальном времени, но трудно найти хорошие инструменты для поддержки этого рабочего процесса от проектирования до выполнения. Большинство процедурных подходов разработчиков игр, похоже, касаются генерации мешей. Интересно, насколько шейдерный конвейер с помощью карты глубины / отложенного рендеринга может обрабатывать старые шумовые 3D-алгоритмы?
... вместо того, чтобы пытаться выяснить, как параметрически отобразить текстурное изображение на поверхность вашей фигуры, объемная природа текстур на основе шума позволяет вам просто оценивать их в (x, y, z) местах в вашем пикселе шейдер. Таким образом, вы эффективно вырезаете свою текстуру из твердого материала, что зачастую гораздо проще, чем пытаться разработать разумное неискаженное параметрическое отображение.
Эти виды процедурных текстур на основе объемного шума долгое время были основой художественных фильмов, где шейдеры не требуют производительности в реальном времени ... во всех фильмах со спецэффектами сегодня широко используются процедурные шейдеры на основе шума ... это сильно зависит о широком использовании функции шума в пиксельных шейдерах, написанных на таких языках, как Pixar RenderMan. С хорошей реализацией функции шума, доступной для использования в режиме реального времени в графических процессорах, я с нетерпением жду возможности увидеть некоторые из захватывающих визуальных идей из художественных фильмов, включенных в следующее поколение интерактивных развлечений на настольном компьютере и консоли.
http://http.developer.nvidia.com/GPUGems/gpugems_ch05.html