Как прочитать атрибут с поверхности геометрии?

Например вам нужно прочитать значение атрибута с поверхности объекта, наиболее близкой к какой-то точке. При этом можно читать атрибут не с точек, а между ними, интерполируя значения.

Для этого есть две Vex (VOP) функции.

xyzdist() находит эту координату на поверхности, возвращает расстояние до нее, номер примитива и параметрические координаты внутри этого примитива.

primuv() по номеру примитива и параметрическим координатам внутри него возвращает значение атрибута в этой точке, интерполируя его между точками полигона.

Пример кода на Vex:

vector uv;
int prim;
xyzdist(1, @P, prim, uv);
@Cd=primuv(1, "Cd", prim, uv);

Этот код для каждой точки находит ближайшую точку на поверхности геометрии из второго входа Wrangle и заберет с нее цвет.