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

时间:2011-04-14 15:03:52

标签: json gwt webgl mesh

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

1 个答案:

答案 0 :(得分:1)

如果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());

获取可以传递给TypeArray的{​​{1}}。上面的StaticMesh取决于你的json字符串对象。例如,如果你的json看起来像:

fieldName

那么你的{ "vertexPositions" : [0, 1, 2, ...] "vertexNormals" : [0, 1, 0, ...] "indices" : [0, 1, 2, ...] } 可以是“vertexPositions”,“vertexNormals”和“indices”。 (请注意,indices数组通常是fieldName类型而不是Uint16Array)。有关详细信息,请参阅implementation of AbstractMeshResource