Javascript 3.js;I';我们使用矩阵进行旋转变换,它不';行不通
感谢“;”我失去了我的最后两天;似乎,在void main(){}之后不应该插入;性格 无论如何,我终于可以通过着色器绘制曲线并尝试新的东西Javascript 3.js;I';我们使用矩阵进行旋转变换,它不';行不通,javascript,matrix,position,three.js,webgl,Javascript,Matrix,Position,Three.js,Webgl,感谢“;”我失去了我的最后两天;似乎,在void main(){}之后不应该插入;性格 无论如何,我终于可以通过着色器绘制曲线并尝试新的东西 attribute float sov; attribute float pl; attribute float oi; attribute vec3 color; varying vec3 vColor; void main() {
attribute float sov;
attribute float pl;
attribute float oi;
attribute vec3 color;
varying vec3 vColor;
void main() {
// Convert pl, oi to degree;
float u = radians(pl);
float v = radians(oi);
// Rotation Transform
// Make xy-plane rotation matrix;
mat3 plMat;
plMat[0][0] = cos(u); plMat[0][1] = -sin(u);
plMat[1][0] = sin(u); plMat[1][1] = cos(u);
// Make line-base rotation matrix; by Rodriges
mat3 oiMat;
oiMat[0][0] = cos(v)-(cos(v) - 1.0)*sin(u)*sin(u);
oiMat[0][1] = (1.0 - cos(v))*(-sin(u)*cos(u));
oiMat[0][2] = sin(v)*cos(u);
oiMat[1][0] = -sin(u)*cos(u)*(1.0 - cos(v));
oiMat[1][1] = cos(v)-(cos(v)-1.0)*cos(u)*cos(u);
oiMat[1][2] = sin(u)*sin(v);
oiMat[2][0] = -sin(v)*cos(u);
oiMat[2][1] = -sin(u)*sin(v);
oiMat[2][2] = cos(v);
vec3 plPosition = plMat * position;
vec3 oiPosition = oiMat * position;
vColor = color;
gl_Position = projectionMatrix * modelViewMatrix * vec4(oiPosition, 1.0);
}
我试着旋转顶点的位置,我得到了这个
//未捕获的TypeError:无法读取未定义的属性“length”
这个问题与职位指数有关吗
若我正确读取了GLSL引用,那个么对于像“position”这样的数组,必须有它的索引,可能转换会覆盖它
请帮助我。
未捕获类型错误:无法读取未定义的属性“length”
是一个JavaScript错误。它与WebGL或GLSL无关。这意味着JavaScript中存在错误。