Arrays WebGL:哪些数组参数必须是类型化数组?

Arrays WebGL:哪些数组参数必须是类型化数组?,arrays,webgl,Arrays,Webgl,我注意到“鼠标事件”(和“纹理”)演示在Chrome、Firefox和Opera中运行(界面有点糟糕,请耐心等待) 如您所见,模型、视图和投影矩阵是作为普通JavaScript数组提供的Float32Array仅在两个脚本中出现一次,用于上载立方体顶点数据 关于这一点,我有些不明白,因为到目前为止,我一直假设所有数据都必须以类型化数组的形式出现。我看到这些选择: 所有数组都必须作为类型化数组进行调用,但转换是隐式的 只有某些调用需要类型化数组作为输入。如果是,哪些可以/不可以?我在哪里可以查看

我注意到“鼠标事件”(和“纹理”)演示在Chrome、Firefox和Opera中运行(界面有点糟糕,请耐心等待)

如您所见,模型、视图和投影矩阵是作为普通JavaScript数组提供的
Float32Array
仅在两个脚本中出现一次,用于上载立方体顶点数据

关于这一点,我有些不明白,因为到目前为止,我一直假设所有数据都必须以类型化数组的形式出现。我看到这些选择:

  • 所有数组都必须作为类型化数组进行调用,但转换是隐式的
  • 只有某些调用需要类型化数组作为输入。如果是,哪些可以/不可以?我在哪里可以查看这个,因为WebGL似乎还没有正式的API文档
  • 不同的浏览器实现处理这个问题的方式存在差异:一些可能会进行隐式数组转换,而另一些可能不会

    • WebGL规范已经存在一段时间了。你可以从我这里得到它。从规范中可以看到,有几个函数被重载,特别是那些接受统一(这就是您指定所提到的各种矩阵的方式)的函数,以同时接受JavaScript数组和类型化数组。其他函数(主要是那些获取大量数据的函数(例如,纹理、顶点数组等)——出于性能原因,仅限于使用类型化数组