Страница 1 из 1

Переменная из вершинного шейдера в surface

СообщениеДобавлено: 06 ноя 2015, 14:20
maewyn
Пробую небольшие эксперименты с шейдерами на модели, где у треугольников общие вершины. Для surface-шейдера создал входную структуру с интовской переменной, которую хочу задавать в вершинном шейдере.
Синтаксис:
Используется csharp
               
struct Input
{
     //...
     int mi;
     //...
};
 


и прямо в вершинном шейдере присваиваю для каждой вершины одинаковое значение

Синтаксис:
Используется csharp
void vert (inout appdata_full v, out Input o)
{
        NITY_INITIALIZE_OUTPUT(Input, o);
        o.mi = 100;
}


А в результате если покрасить в surface пиксели, у которых mi = 100, то получается рябь, такое ощущение, что значения пикселей вычисляются раньше, чем осуществляется проход по всем вершинам. Они что, одновременно выполняются эти шейдеры или что-то не так делаю?

Re: Переменная из вершинного шейдера в surface

СообщениеДобавлено: 12 ноя 2015, 23:58
alexanya11
Вообще именно с surface сталкивался не много, но это вродь как более высокоуровневый фрагментный.
Так вот, если получается рябь, то это, возможно, шалит растеризатор.
Это можно легко проверить добавив условие
Синтаксис:
Используется csharp
if (mi > 99 && mi < 101)
 

Ну а вообще старайтесь выкладывать код.
Ну и изображение этой "ряби"