Open taontech opened 10 months ago
float ATan2(vec2 dir) { float angle = asin(dir.x) > 0.0 ? acos(dir.y) : -acos(dir.y); return angle; } vec2 rotatePt(in vec2 pt, in vec2 center, in float rad){ float r = length(pt-center); float nextRad = ATan2((pt-center)/r); nextRad -= rad; return vec2(center.x + cos(nextRad)*r, center.y + sin(nextRad)*r); }
需要Atan2方法,但是shader没有原生atan2.