private void createCollisionMesh(Mesh mesh, Vector3f worldScale) { this.worldScale = worldScale; bulletMesh = Converter.convert(mesh); this.numVertices = bulletMesh.numVertices; this.numTriangles = bulletMesh.numTriangles; this.vertexStride = bulletMesh.vertexStride; this.triangleIndexStride = bulletMesh.triangleIndexStride; this.triangleIndexBase = bulletMesh.triangleIndexBase; this.vertexBase = bulletMesh.vertexBase; createShape(); }
objectId = createShape(meshId); Logger.getLogger(this.getClass().getName()).log(Level.FINE, "Created Shape {0}", Long.toHexString(objectId)); setScale(scale);
public void read(JmeImporter im) throws IOException { super.read(im); InputCapsule capsule = im.getCapsule(this); worldScale = (Vector3f) capsule.readSavable("worldScale", new Vector3f(1, 1, 1)); numVertices = capsule.readInt("numVertices", 0); numTriangles = capsule.readInt("numTriangles", 0); vertexStride = capsule.readInt("vertexStride", 0); triangleIndexStride = capsule.readInt("triangleIndexStride", 0); triangleIndexBase = ByteBuffer.wrap(capsule.readByteArray("triangleIndexBase", new byte[0])); vertexBase = ByteBuffer.wrap(capsule.readByteArray("vertexBase", new byte[0])); createShape(); }
/** * De-serialize this shape, for example when loading from a J3O file. * * @param im importer (not null) * @throws IOException from importer */ public void read(JmeImporter im) throws IOException { super.read(im); InputCapsule capsule = im.getCapsule(this); // worldScale = (Vector3f) capsule.readSavable("worldScale", new Vector3f(1, 1, 1)); numVertices = capsule.readInt("numVertices", 0); numTriangles = capsule.readInt("numTriangles", 0); vertexStride = capsule.readInt("vertexStride", 0); triangleIndexStride = capsule.readInt("triangleIndexStride", 0); triangleIndexBase = ByteBuffer.wrap(capsule.readByteArray("triangleIndexBase", new byte[0])); vertexBase = ByteBuffer.wrap(capsule.readByteArray("vertexBase", new byte[0])); createShape(); }
private void createCollisionMesh(Mesh mesh) { triangleIndexBase = BufferUtils.createByteBuffer(mesh.getTriangleCount() * 3 * 4); vertexBase = BufferUtils.createByteBuffer(mesh.getVertexCount() * 3 * 4); // triangleIndexBase = ByteBuffer.allocate(mesh.getTriangleCount() * 3 * 4); // vertexBase = ByteBuffer.allocate(mesh.getVertexCount() * 3 * 4); numVertices = mesh.getVertexCount(); vertexStride = 12; //3 verts * 4 bytes per. numTriangles = mesh.getTriangleCount(); triangleIndexStride = 12; //3 index entries * 4 bytes each. IndexBuffer indices = mesh.getIndicesAsList(); FloatBuffer vertices = mesh.getFloatBuffer(Type.Position); vertices.rewind(); int verticesLength = mesh.getVertexCount() * 3; for (int i = 0; i < verticesLength; i++) { float tempFloat = vertices.get(); vertexBase.putFloat(tempFloat); } int indicesLength = mesh.getTriangleCount() * 3; for (int i = 0; i < indicesLength; i++) { triangleIndexBase.putInt(indices.get(i)); } vertices.rewind(); vertices.clear(); createShape(); }
private void createCollisionMesh(Mesh mesh, Vector3f worldScale) { this.worldScale = worldScale; bulletMesh = Converter.convert(mesh); this.numVertices = bulletMesh.numVertices; this.numTriangles = bulletMesh.numTriangles; this.vertexStride = bulletMesh.vertexStride; this.triangleIndexStride = bulletMesh.triangleIndexStride; this.triangleIndexBase = bulletMesh.triangleIndexBase; this.vertexBase = bulletMesh.vertexBase; createShape(); }
objectId = createShape(meshId); Logger.getLogger(this.getClass().getName()).log(Level.INFO, "Created Shape {0}", Long.toHexString(objectId)); setScale(scale);
objectId = createShape(meshId); Logger.getLogger(this.getClass().getName()).log(Level.FINE, "Created Shape {0}", Long.toHexString(objectId)); setScale(scale);
public void read(JmeImporter im) throws IOException { super.read(im); InputCapsule capsule = im.getCapsule(this); // worldScale = (Vector3f) capsule.readSavable("worldScale", new Vector3f(1, 1, 1)); numVertices = capsule.readInt("numVertices", 0); numTriangles = capsule.readInt("numTriangles", 0); vertexStride = capsule.readInt("vertexStride", 0); triangleIndexStride = capsule.readInt("triangleIndexStride", 0); triangleIndexBase = ByteBuffer.wrap(capsule.readByteArray("triangleIndexBase", new byte[0])); vertexBase = ByteBuffer.wrap(capsule.readByteArray("vertexBase", new byte[0])); createShape(); }
public void read(JmeImporter im) throws IOException { super.read(im); InputCapsule capsule = im.getCapsule(this); // worldScale = (Vector3f) capsule.readSavable("worldScale", new Vector3f(1, 1, 1)); numVertices = capsule.readInt("numVertices", 0); numTriangles = capsule.readInt("numTriangles", 0); vertexStride = capsule.readInt("vertexStride", 0); triangleIndexStride = capsule.readInt("triangleIndexStride", 0); triangleIndexBase = ByteBuffer.wrap(capsule.readByteArray("triangleIndexBase", new byte[0])); vertexBase = ByteBuffer.wrap(capsule.readByteArray("vertexBase", new byte[0])); createShape(); }
public void read(JmeImporter im) throws IOException { super.read(im); InputCapsule capsule = im.getCapsule(this); worldScale = (Vector3f) capsule.readSavable("worldScale", new Vector3f(1, 1, 1)); numVertices = capsule.readInt("numVertices", 0); numTriangles = capsule.readInt("numTriangles", 0); vertexStride = capsule.readInt("vertexStride", 0); triangleIndexStride = capsule.readInt("triangleIndexStride", 0); triangleIndexBase = ByteBuffer.wrap(capsule.readByteArray("triangleIndexBase", new byte[0])); vertexBase = ByteBuffer.wrap(capsule.readByteArray("vertexBase", new byte[0])); createShape(); }
private void createCollisionMesh(Mesh mesh) { triangleIndexBase = BufferUtils.createByteBuffer(mesh.getTriangleCount() * 3 * 4); vertexBase = BufferUtils.createByteBuffer(mesh.getVertexCount() * 3 * 4); // triangleIndexBase = ByteBuffer.allocate(mesh.getTriangleCount() * 3 * 4); // vertexBase = ByteBuffer.allocate(mesh.getVertexCount() * 3 * 4); numVertices = mesh.getVertexCount(); vertexStride = 12; //3 verts * 4 bytes per. numTriangles = mesh.getTriangleCount(); triangleIndexStride = 12; //3 index entries * 4 bytes each. IndexBuffer indices = mesh.getIndicesAsList(); FloatBuffer vertices = mesh.getFloatBuffer(Type.Position); vertices.rewind(); int verticesLength = mesh.getVertexCount() * 3; for (int i = 0; i < verticesLength; i++) { float tempFloat = vertices.get(); vertexBase.putFloat(tempFloat); } int indicesLength = mesh.getTriangleCount() * 3; for (int i = 0; i < indicesLength; i++) { triangleIndexBase.putInt(indices.get(i)); } vertices.rewind(); vertices.clear(); createShape(); }
private void createCollisionMesh(Mesh mesh) { triangleIndexBase = BufferUtils.createByteBuffer(mesh.getTriangleCount() * 3 * 4); vertexBase = BufferUtils.createByteBuffer(mesh.getVertexCount() * 3 * 4); // triangleIndexBase = ByteBuffer.allocate(mesh.getTriangleCount() * 3 * 4); // vertexBase = ByteBuffer.allocate(mesh.getVertexCount() * 3 * 4); numVertices = mesh.getVertexCount(); vertexStride = 12; //3 verts * 4 bytes per. numTriangles = mesh.getTriangleCount(); triangleIndexStride = 12; //3 index entries * 4 bytes each. IndexBuffer indices = mesh.getIndexBuffer(); FloatBuffer vertices = mesh.getFloatBuffer(Type.Position); vertices.rewind(); int verticesLength = mesh.getVertexCount() * 3; for (int i = 0; i < verticesLength; i++) { float tempFloat = vertices.get(); vertexBase.putFloat(tempFloat); } int indicesLength = mesh.getTriangleCount() * 3; for (int i = 0; i < indicesLength; i++) { triangleIndexBase.putInt(indices.get(i)); } vertices.rewind(); vertices.clear(); createShape(); }