Ссылка на структуру входа Surface Shader для встроенного Render Pipeline
Входная структура Input обычно имеет любые координаты текстуры, необходимые для шейдера. Координаты текстуры должны иметь название “uv” за которым следует имя текстуры (или начинаться с “uv2” для использования второго набора координат текстуры).
Дополнительные значения, которые могут быть включены в структуру ввода:
float3 viewDir— содержит направление зрения, для вычисления эффектов Параллакса, освещения края и т.д.float4с семантическимCOLOR— содержит интерполированный цвет на вершину.float4 screenPos— содержит позицию экранного пространства для отражения или эффектов экранного пространства. Обратите внимание, что это не подходит для GrabPass; вам нужно вычислить пользовательский UV самостоятельно, используя функциюComputeGrabScreenPos.float3 worldPos— содержит мировую космическую позицию.float3 worldRefl— содержит вектор отражения мира , если шейдер поверхности не записывает в o.Normal. См. Reflect-Diffuse shader для примера.float3 worldNormal— содержит мировой нормальный вектор , если шейдер поверхности не записывает в o.Normal.float3 worldRefl; INTERNAL_DATA— содержит вектор отражения мира , если шейдер поверхности записывает в o.Normal. Чтобы получить вектор отражения, основанный на пиксельной карте нормалей, используйтеWorldReflectionVector (IN, o.Normal). См. Reflect-Bumped shader для примера.float3 worldNormal; INTERNAL_DATA— содержит мировой нормальный вектор , если шейдер поверхности записывает в o.Normal. Чтобы получить нормальный вектор, основанный на пиксельной карте нормалей, используйтеWorldNormalVector (IN, o.Normal).