【发布时间】:2018-04-28 09:46:37
【问题描述】:
我知道这个问题被问了很多,但没有一个解决方案真正适合我的情况。我正在寻找使用下面显示的代码向画布添加第二种类型的对象。我知道我没有提供太多,但它是一个快速的开始。如果您认为自己有预感,请询问更多。下面的代码在我的渲染函数中。
到目前为止,我已经检查过了
- 我的点数组中有足够的顶点
- 我的法线数组中有足够的法线向量
- 我的 texCoords 数组中有足够的纹理坐标
- 创建地形和螺旋桨时添加的矢量之间没有不匹配。
地形在纹理、光照和其他方面渲染得很好,但我无法让螺旋桨渲染。我收到上面列出的错误。我之前在画布上添加了多个对象,从来没有遇到过这样的错误。
//----------------------------------------- Draw Terrain ------------------------------------
var i = 0;
for(var row=0-dimension; row<dimension; row+=3){
for(var col=0-dimension; col<dimension; col+=3, i++){
var mv = mult(viewer, mult(translate(row, -1, col), mult(scale[i],rot[i])));
gl.uniformMatrix4fv(modelViewLoc, false, flatten(mv));
gl.uniformMatrix3fv(normalLoc, false, flatten(normalMatrix(mv, true)));
gl.drawArrays( gl.TRIANGLES, 0, index);
}
}
//----------------------------------------- Draw Propeller ------------------------------------
mv = mult(viewer, mult( translate(-2.1, -2.9, -.2), scalem(4,5,5)));
gl.uniformMatrix4fv(modelViewLoc, false, flatten(mv));
gl.uniformMatrix3fv(normalLoc, false, flatten(normalMatrix(mv, true)));
gl.drawArrays( gl.TRIANGLES, propellerStart, points.length);
有什么方法可以使用错误消息中的“属性 2”来追踪给我这个问题的变量吗?
感谢您的帮助!
【问题讨论】: