如何正确地将GLSL *-运算符转换为HLSL?

时间:2019-07-07 04:42:21

标签: glsl hlsl

我正在尝试将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 :(得分:0)

该行不执行任何操作,可以将其删除。

基本上,*-进行计算时是将左边的部分pos与右边的负部分float2x2(cos(a), -sin(a), sin(a), cos(a))相乘,但是由于该行没有赋值,因此该操作的结果只会被丢弃,没用过。

您可以在reference中对其进行测试,因为您可以删除第23-28行,而无需更改结果图片中的任何内容。