У этого термина существуют и другие значения, см. Текстура.
Тексту́ра — растровое изображение, накладываемое на поверхность полигональной модели для придания ей цвета, окраски или иллюзии рельефа. Приблизительно использование текстур можно легко представить как рисунок на поверхности скульптурного изображения. Использование текстур позволяет воспроизвести малые объекты поверхности, создание которых полигонами оказалось бы чрезмерно ресурсоёмким. Например, шрамы на коже, складки на одежде, мелкие камни и прочие предметы на поверхности стен и почвы.
Качество текстурированной поверхности определяется текселями — количеством пикселей на минимальную единицу текстуры. Так как сама по себе текстура является изображением, разрешение текстуры и её формат играют большую роль, которая впоследствии сказывается на общем впечатлении от качества графики в 3D-приложении.
Метод проецирования текстур для использования в трёхмерной графике впервые был предложен Эдвином Катмуллом в 1974 году[1].
Алгоритм, далее именуемый «алгоритмом подразделения», работает как для патчей, так и для сегментов патчей, называемых «подпатчами». Рисунок 2-2 иллюстрирует часть экрана, где точки представляют собой точки выборки. (Контуры квадратов растровых элементов не показаны.) Кривые линии представляют собой края проецируемого патча. Несмотря на то, что показана только проекция, мы предполагаем, что сохраняется достаточно информации о патче, чтобы можно было рассчитать интенсивность света для любого места на патче.[2]
На рисунке 2-3[2] показан патч, разделенный на четыре подпатча, где большинство подпатчей все еще покрывают более одной точки выборки. На рисунке 2-4[2] подпатчи, которые слишком велики, снова подразделяются. Подразделение продолжается до тех пор, пока ни один подпатч не покроет более одной точки выборки.
Читатели, знакомые с другими компьютерными алгоритмами chadad-picture, увидят сходство между представленным здесь методом и алгоритмом скрытой поверхности Уорнока . Уорнок решил проблему скрытой поверхности для полигонов, рекурсивно разделив экранное пространство на последовательно меньшие секции, пока на все вопросы о порядке полигонов, оставшихся в секции , не стало легко ответить. Алгоритм Уорнока отличается от представленного здесь тем, что первый подразделяет экран, а второй подразделяет визуализируемую поверхность.[2]
Условия завершения
Решение о том, следует ли подразделять подзаплату, принимается на основе условий завершения. Будут рассмотрены два условия завершения: размер и обрезка. Для целей этого обсуждения отметим, что термины «заплата» и «подзаплата» могут использоваться взаимозаменяемо, поэтому мы обычно будем использовать слово «заплата».
Как указано в алгоритме, подразделение прекращается, когда патч охватывает только одну точку выборки. Поскольку края патча изогнуты, тест на то, охватывает ли только одну точку выборки может быть трудоемким. Однако для целей этого теста патч может быть аппроксимирован многоугольником, образованным путем соединения четырех углов патча прямыми отрезками. Затем можно проверить размер этого многоугольника, чтобы определить, охватывает ли он не более одной точки выборки. Это приближение обычно должно быть достаточным для патчей, которые приближаются к размеру растровых элементов. Это может быть неадекватно, если патч очень изогнут (см. рис. 2-5). Если этот случай может быть обнаружен из-за особых характеристик геометрии патча, то патч может быть снова подразделен. Если это не может быть обнаружено, то может возникнуть локальная ошибка.[2]
Пожалуйста, дополните её ещё хотя бы несколькими предложениями и уберите это сообщение. Если статья останется недописанной, она может быть выставлена к удалению. Для указания на продолжающуюся работу над статьёй используйте шаблон {{subst:Редактирую}}. (9 марта 2023)