Fixed MikktSpaceTangentGenerator that was not replacing existing Tangent buffers on the mesh. That could cause crashes when the old tangent buffer did not have the same amount of components
This commit is contained in:
parent
7ecb81c230
commit
aae6170cc5
@ -21,13 +21,10 @@ public class MikkTSpaceImpl implements MikkTSpaceContext {
|
||||
|
||||
public MikkTSpaceImpl(Mesh mesh) {
|
||||
this.mesh = mesh;
|
||||
VertexBuffer tangentBuffer = mesh.getBuffer(VertexBuffer.Type.Tangent);
|
||||
if(tangentBuffer == null){
|
||||
FloatBuffer fb = BufferUtils.createFloatBuffer(mesh.getVertexCount() * 4);
|
||||
mesh.setBuffer(VertexBuffer.Type.Tangent, 4, fb);
|
||||
}
|
||||
|
||||
//TODO ensure the Tangent buffer exists, else create one.
|
||||
//replacing any existing tangent buffer, if you came here you want them new.
|
||||
mesh.clearBuffer(VertexBuffer.Type.Tangent);
|
||||
FloatBuffer fb = BufferUtils.createFloatBuffer(mesh.getVertexCount() * 4);
|
||||
mesh.setBuffer(VertexBuffer.Type.Tangent, 4, fb);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -512,7 +512,7 @@ public class MikktspaceTangentGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
//TODO Nehon : Not used...seemsit's used in the original version if the structure to store the data in the regular method failed...
|
||||
//TODO Nehon : Not used...seems it's used in the original version if the structure to store the data in the regular method failed...
|
||||
static void generateSharedVerticesIndexListSlow(int piTriList_in_and_out[], final MikkTSpaceContext mikkTSpace, final int iNrTrianglesIn) {
|
||||
int iNumUniqueVerts = 0;
|
||||
for (int t = 0; t < iNrTrianglesIn; t++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user