removed a premature commit to terrain tangents that isn't fully working yet
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8063 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
82a405f067
commit
7a954c0650
@ -331,11 +331,10 @@ public class TerrainPatch extends Geometry {
|
|||||||
* recalculate all of this normal vectors in this terrain patch
|
* recalculate all of this normal vectors in this terrain patch
|
||||||
*/
|
*/
|
||||||
protected void updateNormals() {
|
protected void updateNormals() {
|
||||||
TangentBinormalGenerator.generate(this);
|
|
||||||
FloatBuffer newNormalBuffer = geomap.writeNormalArray(null, getWorldScale());
|
FloatBuffer newNormalBuffer = geomap.writeNormalArray(null, getWorldScale());
|
||||||
getMesh().getBuffer(Type.Normal).updateData(newNormalBuffer);
|
getMesh().getBuffer(Type.Normal).updateData(newNormalBuffer);
|
||||||
FloatBuffer newTangentBuffer = geomap.writeTangentArray(null, getWorldScale());
|
//FloatBuffer newTangentBuffer = geomap.writeTangentArray(null, getWorldScale());
|
||||||
getMesh().getBuffer(Type.Tangent).updateData(newTangentBuffer);
|
//getMesh().getBuffer(Type.Tangent).updateData(newTangentBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -686,7 +685,7 @@ public class TerrainPatch extends Geometry {
|
|||||||
Vector3f normal,
|
Vector3f normal,
|
||||||
Vector3f tangent)
|
Vector3f tangent)
|
||||||
{
|
{
|
||||||
Vector3f scale = getWorldScale();
|
Vector3f scale = Vector3f.UNIT_XYZ;//getWorldScale();
|
||||||
v[0] = topPoint;
|
v[0] = topPoint;
|
||||||
v[1] = rootPoint;
|
v[1] = rootPoint;
|
||||||
v[2] = leftPoint;
|
v[2] = leftPoint;
|
||||||
@ -742,6 +741,9 @@ public class TerrainPatch extends Geometry {
|
|||||||
|
|
||||||
normal.set(n1.add(n2).add(n3).add(n4).normalizeLocal());
|
normal.set(n1.add(n2).add(n3).add(n4).normalizeLocal());
|
||||||
tangent.set(t1.add(t2).add(t3).add(t4)).normalizeLocal();
|
tangent.set(t1.add(t2).add(t3).add(t4)).normalizeLocal();
|
||||||
|
/*if (rightPoint != null) {
|
||||||
|
tangent.set(rootPoint.mult(scale).subtract(rightPoint.mult(scale)));
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
private Vector3f getNormal(Vector3f firstPoint, Vector3f rootPoint, Vector3f secondPoint) {
|
private Vector3f getNormal(Vector3f firstPoint, Vector3f rootPoint, Vector3f secondPoint) {
|
||||||
|
@ -734,7 +734,7 @@ public class TerrainQuad extends Node implements Terrain {
|
|||||||
patch1.setModelBound(new BoundingBox());
|
patch1.setModelBound(new BoundingBox());
|
||||||
patch1.updateModelBound();
|
patch1.updateModelBound();
|
||||||
patch1.setLodCalculator(lodCalculatorFactory);
|
patch1.setLodCalculator(lodCalculatorFactory);
|
||||||
//TangentBinormalGenerator.generate(patch1);
|
TangentBinormalGenerator.generate(patch1);
|
||||||
|
|
||||||
// 2 lower left
|
// 2 lower left
|
||||||
float[] heightBlock2 = createHeightSubBlock(heightMap, 0, split - 1,
|
float[] heightBlock2 = createHeightSubBlock(heightMap, 0, split - 1,
|
||||||
@ -756,7 +756,7 @@ public class TerrainQuad extends Node implements Terrain {
|
|||||||
patch2.setModelBound(new BoundingBox());
|
patch2.setModelBound(new BoundingBox());
|
||||||
patch2.updateModelBound();
|
patch2.updateModelBound();
|
||||||
patch2.setLodCalculator(lodCalculatorFactory);
|
patch2.setLodCalculator(lodCalculatorFactory);
|
||||||
//TangentBinormalGenerator.generate(patch2);
|
TangentBinormalGenerator.generate(patch2);
|
||||||
|
|
||||||
// 3 upper right
|
// 3 upper right
|
||||||
float[] heightBlock3 = createHeightSubBlock(heightMap, split - 1, 0,
|
float[] heightBlock3 = createHeightSubBlock(heightMap, split - 1, 0,
|
||||||
@ -778,7 +778,7 @@ public class TerrainQuad extends Node implements Terrain {
|
|||||||
patch3.setModelBound(new BoundingBox());
|
patch3.setModelBound(new BoundingBox());
|
||||||
patch3.updateModelBound();
|
patch3.updateModelBound();
|
||||||
patch3.setLodCalculator(lodCalculatorFactory);
|
patch3.setLodCalculator(lodCalculatorFactory);
|
||||||
//TangentBinormalGenerator.generate(patch3);
|
TangentBinormalGenerator.generate(patch3);
|
||||||
|
|
||||||
// 4 lower right
|
// 4 lower right
|
||||||
float[] heightBlock4 = createHeightSubBlock(heightMap, split - 1,
|
float[] heightBlock4 = createHeightSubBlock(heightMap, split - 1,
|
||||||
@ -800,7 +800,7 @@ public class TerrainQuad extends Node implements Terrain {
|
|||||||
patch4.setModelBound(new BoundingBox());
|
patch4.setModelBound(new BoundingBox());
|
||||||
patch4.updateModelBound();
|
patch4.updateModelBound();
|
||||||
patch4.setLodCalculator(lodCalculatorFactory);
|
patch4.setLodCalculator(lodCalculatorFactory);
|
||||||
//TangentBinormalGenerator.generate(patch4);
|
TangentBinormalGenerator.generate(patch4);
|
||||||
}
|
}
|
||||||
|
|
||||||
public float[] createHeightSubBlock(float[] heightMap, int x,
|
public float[] createHeightSubBlock(float[] heightMap, int x,
|
||||||
@ -878,10 +878,10 @@ public class TerrainQuad extends Node implements Terrain {
|
|||||||
protected boolean needToRecalculateNormals() {
|
protected boolean needToRecalculateNormals() {
|
||||||
if (affectedAreaBBox != null)
|
if (affectedAreaBBox != null)
|
||||||
return true;
|
return true;
|
||||||
if (!lastScale.equals(getWorldScale())) {
|
/*if (!lastScale.equals(getWorldScale())) {
|
||||||
lastScale = getWorldScale();
|
lastScale = getWorldScale();
|
||||||
return true;
|
return true;
|
||||||
}
|
}*/
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user