Demo1:Rendering & Art
Demo2:Rendering & Art
Thanks very much: https://www.shadertoy.com/view/4tcGDr
下面是欧拉角形式的旋转代码:
void rotateEuler(float radX,float radY,float radZ, inout vec3 pos) {
// rot y
float c = cos(radY);
float s = sin(radY);
mat3 m3 = mat3(
vec3(c, 0, s),
vec3(0, 1, 0),
vec3(-s, 0, c)
);
pos = m3 * pos;
// rot x
c = cos(radX);
s = sin(radX);
m3[0] = vec3(1, 0, 0);
m3[1] = vec3(0, c, -s);
m3[2] = vec3(0, s, c);
pos = m3 * pos;
// rot z
c = cos(radZ);
s = sin(radZ);
m3[0] = vec3(c, -s, 0);
m3[1] = vec3(s, c, 0);
m3[2] = vec