Как правильно конвертировать GLSL * - оператор в HLSL? - PullRequest
0 голосов
/ 07 июля 2019

Я пытаюсь перенести код GLSL на HLSL, но в конце этой операции я получаю ошибку несоответствия типов:

float2 pos = p;
float a = time * 100. + y * 31.;
float2 lineCenter = vec2(0.5, y);   
pos -= lineCenter;
pos *- float2x2(cos(a), -sin(a), sin(a), cos(a));

Оператор * - меня сильно смущает, как это может бытьПравильно ли преобразован в HLSL?

1 Ответ

0 голосов
/ 08 июля 2019

Строка ничего не делает и может быть удалена.

В основном *- выполняет вычисления, поскольку он умножает левую часть pos на отрицательную правую часть float2x2(cos(a), -sin(a), sin(a), cos(a)), но, поскольку эта строка не имеет присваивания, результат этой операции просто отбрасывается и никогда не используется.

Вы можете проверить это в своем справочнике , так как вы можете удалить строки 23-28, не меняя ничего в результирующем изображении.

...