Как я могу создать сетку WebGL из строки JSON в gwt-g3d? - PullRequest
1 голос
/ 14 апреля 2011

Как я могу создать сетку (экземпляр StaticMesh) из строки JSON в gwt-g3d (http://code.google.com/p/gwt-g3d/)?

1 Ответ

1 голос
/ 16 апреля 2011

Если строка 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, который вы можете передать StaticMesh.fieldName выше зависит от вашего строкового объекта json.Например, если ваш json выглядит примерно так:

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

, тогда ваши fieldName могут быть «vertexPositions», «vertexNormals» и «indexes».(Обратите внимание, что массив индексов обычно имеет тип Uint16Array вместо Float32Array).См. реализацию AbstractMeshResource для получения дополнительной информации

...