几何着色器的输出与预期的输出大不相同。
这个问题很可能与我经历过的测角函数的奇怪行为有关。
计算S
时,传递给片段着色器,结果为
float e = u - 3.14159 / 2;
float f = v - 3.14159 / 2;
float p = (- sin (f) * a - cos (f) * b) / D;
vec2 S = A + vec2 (-sin (u), - cos (u)) * p;
和
float p = (cos (v) * a - sin (v) * b) / D;
vec2 S = A + vec2 (sin (u), - cos (u)) * p;
是不同的,他们显然不应该这样。
答案 0 :(得分:3)
结果不同并不明显。 p
以两种不同的方式计算,S
。在代数上,它们变成了不同的东西。
方法1:
S = A + vec2(-sin(u)*(-sin(f)*a - cos(f)*b)/D, -cos(u)*(-sin(f)*a - cos(f)*b)/D);
方法2:
S = A + vec2( sin(u)*( cos(v)*a - sin(v)*b)/D, -cos(u)*( cos(v)*a - sin(v)*b)/D);
您的u
和v
与e
和f
不匹配。