我如何从gwt-g3d中的JSON字符串创建WebGL网格



如何从gwt-g3d (http://code.google.com/p/gwt-g3d/)中的JSON字符串创建一个网格(StaticMesh的实例)?

如果JSON字符串是静态的,您可以将其加载为ExternalMeshResource(请参阅http://code.google.com/p/gwt-g3d/source/browse/trunk/gwt-g3d-test/src/gwt/g3d/test/client/Lesson14Demo.java了解如何使用此资源)。

如果没有,您可以使用JSONParser.parse(jsonString)获取JSON值对象,然后执行类似

的操作
Float32Array.create(jsonObj.get(fieldName).isArray().getJavaScriptObject().<JsArrayNumber>cast());

得到一个可以传递给StaticMeshTypeArray。上面的fieldName取决于json字符串对象。例如,如果json看起来像这样:

{
  "vertexPositions" : [0, 1, 2, ...]
  "vertexNormals" : [0, 1, 0, ...]
  "indices" : [0, 1, 2, ...]
}

那么你的fieldName可以是"vertexPositions", "vertexNormals"one_answers"indices"。(注意,索引数组的类型通常是Uint16Array而不是Float32Array)。有关更多信息,请参阅AbstractMeshResource的实现

最新更新