com.jme3.scene.Geometry.computeWorldMatrix()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(4.4k)|赞(0)|评价(0)|浏览(151)

本文整理了Java中com.jme3.scene.Geometry.computeWorldMatrix()方法的一些代码示例,展示了Geometry.computeWorldMatrix()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Geometry.computeWorldMatrix()方法的具体详情如下:
包路径:com.jme3.scene.Geometry
类名称:Geometry
方法名:computeWorldMatrix

Geometry.computeWorldMatrix介绍

[英]Recomputes the matrix returned by Geometry#getWorldMatrix(). This will require a localized transform update for this geometry.
[中]重新计算几何体#getWorldMatrix()返回的矩阵。这将需要对此几何体进行本地化的变换更新。

代码示例

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

@Override
protected void updateWorldTransforms() {
  super.updateWorldTransforms();
  computeWorldMatrix();
  if (isGrouped()) {
    groupNode.onTransformChange(this);
  }
  // geometry requires lights to be sorted
  worldLights.sort(true);
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

private static void applyAtlasCoords(List<Geometry> geometries, Mesh outMesh, TextureAtlas atlas) {
  int globalVertIndex = 0;
  for (Geometry geom : geometries) {
    Mesh inMesh = geom.getMesh();
    geom.computeWorldMatrix();
    int geomVertCount = inMesh.getVertexCount();
    VertexBuffer inBuf = inMesh.getBuffer(Type.TexCoord);
    VertexBuffer outBuf = outMesh.getBuffer(Type.TexCoord);
    if (inBuf == null || outBuf == null) {
      continue;
    }
    atlas.applyCoords(geom, globalVertIndex, outMesh);
    globalVertIndex += geomVertCount;
  }
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

public int collideWith(Collidable other, CollisionResults results) {
  // Force bound to update
  checkDoBoundUpdate();
  // Update transform, and compute cached world matrix
  computeWorldMatrix();
  assert (refreshFlags & (RF_BOUND | RF_TRANSFORM)) == 0;
  if (mesh != null) {
    // NOTE: BIHTree in mesh already checks collision with the
    // mesh's bound
    int prevSize = results.size();
    int added = mesh.collideWith(other, cachedWorldMat, worldBound, results);
    int newSize = results.size();
    for (int i = prevSize; i < newSize; i++) {
      results.getCollisionDirect(i).setGeometry(this);
    }
    return added;
  }
  return 0;
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

geom.computeWorldMatrix();

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

geom.computeWorldMatrix();
Matrix4f worldMatrix = geom.getWorldMatrix();

代码示例来源:origin: org.jmonkeyengine/jme3-core

@Override
protected void updateWorldTransforms() {
  super.updateWorldTransforms();
  computeWorldMatrix();
  if (isGrouped()) {
    groupNode.onTransformChange(this);
  }
  // geometry requires lights to be sorted
  worldLights.sort(true);
}

代码示例来源:origin: info.projectkyoto/mms-engine

@Override
protected void updateWorldTransforms() {
  super.updateWorldTransforms();
  computeWorldMatrix();
  if (isBatched()) {        
    batchNode.updateSubBatch(this);     
  }
  // geometry requires lights to be sorted
  worldLights.sort(true);
}

代码示例来源:origin: org.jmonkeyengine/jme3-core

private static void applyAtlasCoords(List<Geometry> geometries, Mesh outMesh, TextureAtlas atlas) {
  int globalVertIndex = 0;
  for (Geometry geom : geometries) {
    Mesh inMesh = geom.getMesh();
    geom.computeWorldMatrix();
    int geomVertCount = inMesh.getVertexCount();
    VertexBuffer inBuf = inMesh.getBuffer(Type.TexCoord);
    VertexBuffer outBuf = outMesh.getBuffer(Type.TexCoord);
    if (inBuf == null || outBuf == null) {
      continue;
    }
    atlas.applyCoords(geom, globalVertIndex, outMesh);
    globalVertIndex += geomVertCount;
  }
}

代码示例来源:origin: org.jmonkeyengine/jme3-core

public int collideWith(Collidable other, CollisionResults results) {
  // Force bound to update
  checkDoBoundUpdate();
  // Update transform, and compute cached world matrix
  computeWorldMatrix();
  assert (refreshFlags & (RF_BOUND | RF_TRANSFORM)) == 0;
  if (mesh != null) {
    // NOTE: BIHTree in mesh already checks collision with the
    // mesh's bound
    int prevSize = results.size();
    int added = mesh.collideWith(other, cachedWorldMat, worldBound, results);
    int newSize = results.size();
    for (int i = prevSize; i < newSize; i++) {
      results.getCollisionDirect(i).setGeometry(this);
    }
    return added;
  }
  return 0;
}

代码示例来源:origin: info.projectkyoto/mms-engine

public int collideWith(Collidable other, CollisionResults results) {
  // Force bound to update
  checkDoBoundUpdate();
  // Update transform, and compute cached world matrix
  computeWorldMatrix();
  assert (refreshFlags & (RF_BOUND | RF_TRANSFORM)) == 0;
  if (mesh != null) {
    // NOTE: BIHTree in mesh already checks collision with the
    // mesh's bound
    int prevSize = results.size();
    int added = mesh.collideWith(other, cachedWorldMat, worldBound, results);
    int newSize = results.size();
    for (int i = prevSize; i < newSize; i++) {
      results.getCollisionDirect(i).setGeometry(this);
    }
    return added;
  }
  return 0;
}

代码示例来源:origin: org.jmonkeyengine/jme3-core

geom.computeWorldMatrix();

代码示例来源:origin: info.projectkyoto/mms-engine

geom.computeWorldMatrix();
Matrix4f worldMatrix = geom.getWorldMatrix();

代码示例来源:origin: org.jmonkeyengine/jme3-core

geom.computeWorldMatrix();
Matrix4f worldMatrix = geom.getWorldMatrix();

相关文章