prevent buffer flip on position of 0
This commit is contained in:
parent
bd41085afa
commit
035a13ae7b
@ -199,7 +199,9 @@ public class AudioBuffer {
|
||||
ByteBuffer buffer = MemoryUtil.memAlloc(dataRaw.length);
|
||||
buffer.order(isBigEndian ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN);
|
||||
buffer.put(dataRaw);
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
|
||||
//sanity check
|
||||
if(this.length > 10 * 60 * 60 * 1000){
|
||||
@ -269,8 +271,10 @@ public class AudioBuffer {
|
||||
while(fc.read(buffer) != -1){
|
||||
|
||||
}
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
LoggerInterface.loggerFileIO.ERROR("Failed to create audio, file is not readable: " + filepath, new IOException("File access error!"));
|
||||
}
|
||||
|
||||
@ -40,28 +40,28 @@ public class RenderUtils {
|
||||
int rVal = glGenVertexArrays();
|
||||
glBindVertexArray(rVal);
|
||||
//vertices
|
||||
FloatBuffer VertexArrayBufferData = BufferUtils.createFloatBuffer(12);
|
||||
VertexArrayBufferData.put(-1.0f);
|
||||
VertexArrayBufferData.put( 1.0f);
|
||||
FloatBuffer vertexArrayBufferData = BufferUtils.createFloatBuffer(12);
|
||||
vertexArrayBufferData.put(-1.0f);
|
||||
vertexArrayBufferData.put( 1.0f);
|
||||
|
||||
VertexArrayBufferData.put(-1.0f);
|
||||
VertexArrayBufferData.put(-1.0f);
|
||||
vertexArrayBufferData.put(-1.0f);
|
||||
vertexArrayBufferData.put(-1.0f);
|
||||
|
||||
VertexArrayBufferData.put( 1.0f);
|
||||
VertexArrayBufferData.put(-1.0f);
|
||||
vertexArrayBufferData.put( 1.0f);
|
||||
vertexArrayBufferData.put(-1.0f);
|
||||
|
||||
VertexArrayBufferData.put(-1.0f);
|
||||
VertexArrayBufferData.put( 1.0f);
|
||||
vertexArrayBufferData.put(-1.0f);
|
||||
vertexArrayBufferData.put( 1.0f);
|
||||
|
||||
VertexArrayBufferData.put( 1.0f);
|
||||
VertexArrayBufferData.put(-1.0f);
|
||||
vertexArrayBufferData.put( 1.0f);
|
||||
vertexArrayBufferData.put(-1.0f);
|
||||
|
||||
VertexArrayBufferData.put( 1.0f);
|
||||
VertexArrayBufferData.put( 1.0f);
|
||||
VertexArrayBufferData.flip();
|
||||
vertexArrayBufferData.put( 1.0f);
|
||||
vertexArrayBufferData.put( 1.0f);
|
||||
vertexArrayBufferData.flip();
|
||||
int vertexBuffer = glGenBuffers();
|
||||
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
|
||||
GL15.glBufferData(GL_ARRAY_BUFFER, VertexArrayBufferData, GL_STATIC_DRAW);
|
||||
GL15.glBufferData(GL_ARRAY_BUFFER, vertexArrayBufferData, GL_STATIC_DRAW);
|
||||
glVertexAttribPointer(0, 2, GL_FLOAT, false, 0, 0);
|
||||
glEnableVertexAttribArray(0);
|
||||
|
||||
@ -70,28 +70,28 @@ public class RenderUtils {
|
||||
|
||||
|
||||
//texture coords
|
||||
FloatBuffer TextureArrayBufferData = BufferUtils.createFloatBuffer(12);
|
||||
TextureArrayBufferData.put(0.0f);
|
||||
TextureArrayBufferData.put(1.0f);
|
||||
FloatBuffer textureArrayBufferData = BufferUtils.createFloatBuffer(12);
|
||||
textureArrayBufferData.put(0.0f);
|
||||
textureArrayBufferData.put(1.0f);
|
||||
|
||||
TextureArrayBufferData.put(0.0f);
|
||||
TextureArrayBufferData.put(0.0f);
|
||||
textureArrayBufferData.put(0.0f);
|
||||
textureArrayBufferData.put(0.0f);
|
||||
|
||||
TextureArrayBufferData.put(1.0f);
|
||||
TextureArrayBufferData.put(0.0f);
|
||||
textureArrayBufferData.put(1.0f);
|
||||
textureArrayBufferData.put(0.0f);
|
||||
|
||||
TextureArrayBufferData.put(0.0f);
|
||||
TextureArrayBufferData.put(1.0f);
|
||||
textureArrayBufferData.put(0.0f);
|
||||
textureArrayBufferData.put(1.0f);
|
||||
|
||||
TextureArrayBufferData.put(1.0f);
|
||||
TextureArrayBufferData.put(0.0f);
|
||||
textureArrayBufferData.put(1.0f);
|
||||
textureArrayBufferData.put(0.0f);
|
||||
|
||||
TextureArrayBufferData.put(1.0f);
|
||||
TextureArrayBufferData.put(1.0f);
|
||||
TextureArrayBufferData.flip();
|
||||
textureArrayBufferData.put(1.0f);
|
||||
textureArrayBufferData.put(1.0f);
|
||||
textureArrayBufferData.flip();
|
||||
int textureCoordBuffer = glGenBuffers();
|
||||
glBindBuffer(GL_ARRAY_BUFFER, textureCoordBuffer);
|
||||
GL15.glBufferData(GL_ARRAY_BUFFER, TextureArrayBufferData, GL_STATIC_DRAW);
|
||||
GL15.glBufferData(GL_ARRAY_BUFFER, textureArrayBufferData, GL_STATIC_DRAW);
|
||||
glVertexAttribPointer(1, 2, GL_FLOAT, false, 0, 0);
|
||||
glEnableVertexAttribArray(1);
|
||||
|
||||
@ -158,16 +158,16 @@ public class RenderUtils {
|
||||
|
||||
try {
|
||||
int vertexCount = vertexcoords.length / 3;
|
||||
FloatBuffer VertexArrayBufferData = BufferUtils.createFloatBuffer(vertexCount * 3);
|
||||
FloatBuffer vertexArrayBufferData = BufferUtils.createFloatBuffer(vertexCount * 3);
|
||||
float[] temp = new float[3];
|
||||
for (int i = 0; i < vertexCount; i++) {
|
||||
temp[0] = vertexcoords[i * 3 + 0];
|
||||
temp[1] = vertexcoords[i * 3 + 1];
|
||||
temp[2] = vertexcoords[i * 3 + 2];
|
||||
VertexArrayBufferData.put(temp);
|
||||
vertexArrayBufferData.put(temp);
|
||||
}
|
||||
VertexArrayBufferData.flip();
|
||||
particleMesh.bufferVertices(VertexArrayBufferData, 3);
|
||||
vertexArrayBufferData.flip();
|
||||
particleMesh.bufferVertices(vertexArrayBufferData, 3);
|
||||
} catch (NullPointerException ex){
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
@ -291,39 +291,57 @@ public class InstanceData {
|
||||
switch(attributeGlBufferMap.get(attribute).getType()){
|
||||
case VEC3F: {
|
||||
FloatBuffer buffer = ((FloatBuffer)attributeCpuBufferMap.get(attribute));
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
} break;
|
||||
case VEC3D: {
|
||||
DoubleBuffer buffer = ((DoubleBuffer)attributeCpuBufferMap.get(attribute));
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
} break;
|
||||
case VEC4F: {
|
||||
FloatBuffer buffer = ((FloatBuffer)attributeCpuBufferMap.get(attribute));
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
} break;
|
||||
case VEC4D: {
|
||||
DoubleBuffer buffer = ((DoubleBuffer)attributeCpuBufferMap.get(attribute));
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
} break;
|
||||
case MAT4F: {
|
||||
FloatBuffer buffer = ((FloatBuffer)attributeCpuBufferMap.get(attribute));
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
} break;
|
||||
case MAT4D: {
|
||||
FloatBuffer buffer = ((FloatBuffer)attributeCpuBufferMap.get(attribute));
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
} break;
|
||||
case DOUBLE: {
|
||||
DoubleBuffer buffer = ((DoubleBuffer)attributeCpuBufferMap.get(attribute));
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
} break;
|
||||
case FLOAT: {
|
||||
FloatBuffer buffer = ((FloatBuffer)attributeCpuBufferMap.get(attribute));
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
} break;
|
||||
case INT: {
|
||||
IntBuffer buffer = ((IntBuffer)attributeCpuBufferMap.get(attribute));
|
||||
if(buffer.position() > 0){
|
||||
buffer.flip();
|
||||
}
|
||||
} break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -291,7 +291,9 @@ public class LightManager {
|
||||
dataBuffer.putFloat(0);
|
||||
}
|
||||
|
||||
if(dataBuffer.position() > 0){
|
||||
dataBuffer.flip();
|
||||
}
|
||||
|
||||
// dataBuffer.position(0);
|
||||
|
||||
|
||||
@ -582,8 +582,6 @@ public class FluidChunkModelGeneration {
|
||||
List<Vector3f> normals = new LinkedList<Vector3f>();
|
||||
//the list of number of triangles that share a vert
|
||||
List<Integer> trianglesSharingVert = new LinkedList<Integer>();
|
||||
//List of elements in order
|
||||
List<Integer> faceElements = new LinkedList<Integer>();
|
||||
//List of UVs
|
||||
List<Float> UVs = new LinkedList<Float>();
|
||||
|
||||
@ -696,13 +694,14 @@ public class FluidChunkModelGeneration {
|
||||
|
||||
try {
|
||||
int vertexCount = data.getVertices().size() / 3;
|
||||
FloatBuffer VertexArrayBufferData = BufferUtils.createFloatBuffer(vertexCount * 3);
|
||||
float[] temp = new float[3];
|
||||
FloatBuffer vertexArrayBufferData = BufferUtils.createFloatBuffer(vertexCount * 3);
|
||||
for(float vertValue : data.getVertices()){
|
||||
VertexArrayBufferData.put(vertValue);
|
||||
vertexArrayBufferData.put(vertValue);
|
||||
}
|
||||
if(vertexArrayBufferData.position() > 0){
|
||||
vertexArrayBufferData.flip();
|
||||
mesh.bufferVertices(vertexArrayBufferData, 3);
|
||||
}
|
||||
VertexArrayBufferData.flip();
|
||||
mesh.bufferVertices(VertexArrayBufferData, 3);
|
||||
} catch (NullPointerException ex){
|
||||
ex.printStackTrace();
|
||||
}
|
||||
@ -712,16 +711,16 @@ public class FluidChunkModelGeneration {
|
||||
//
|
||||
// FACES
|
||||
//
|
||||
int faceCount = data.getFaceElements().size() / 3;
|
||||
int elementCount = data.getFaceElements().size();
|
||||
try {
|
||||
IntBuffer elementArrayBufferData = BufferUtils.createIntBuffer(elementCount);
|
||||
int[] temp = new int[3];
|
||||
for(int element : data.getFaceElements()){
|
||||
elementArrayBufferData.put(element);
|
||||
}
|
||||
if(elementArrayBufferData.position() > 0){
|
||||
elementArrayBufferData.flip();
|
||||
mesh.bufferFaces(elementArrayBufferData,elementCount);
|
||||
}
|
||||
} catch (NullPointerException ex){
|
||||
ex.printStackTrace();
|
||||
}
|
||||
@ -734,15 +733,16 @@ public class FluidChunkModelGeneration {
|
||||
//
|
||||
try {
|
||||
int normalCount = data.getNormals().size() / 3;
|
||||
FloatBuffer NormalArrayBufferData;
|
||||
FloatBuffer normalArrayBufferData;
|
||||
if(normalCount > 0){
|
||||
NormalArrayBufferData = BufferUtils.createFloatBuffer(normalCount * 3);
|
||||
float[] temp = new float[3];
|
||||
normalArrayBufferData = BufferUtils.createFloatBuffer(normalCount * 3);
|
||||
for(float normalValue : data.getNormals()){
|
||||
NormalArrayBufferData.put(normalValue);
|
||||
normalArrayBufferData.put(normalValue);
|
||||
}
|
||||
if(normalArrayBufferData.position() > 0){
|
||||
normalArrayBufferData.flip();
|
||||
mesh.bufferNormals(normalArrayBufferData, 3);
|
||||
}
|
||||
NormalArrayBufferData.flip();
|
||||
mesh.bufferNormals(NormalArrayBufferData, 3);
|
||||
}
|
||||
} catch (NullPointerException ex){
|
||||
ex.printStackTrace();
|
||||
@ -753,15 +753,16 @@ public class FluidChunkModelGeneration {
|
||||
//
|
||||
try {
|
||||
int textureCoordCount = data.getUVs().size() / 2;
|
||||
FloatBuffer TextureArrayBufferData;
|
||||
FloatBuffer textureArrayBufferData;
|
||||
if(textureCoordCount > 0){
|
||||
TextureArrayBufferData = BufferUtils.createFloatBuffer(textureCoordCount * 2);
|
||||
float[] temp = new float[2];
|
||||
textureArrayBufferData = BufferUtils.createFloatBuffer(textureCoordCount * 2);
|
||||
for(float uvValue : data.getUVs()){
|
||||
TextureArrayBufferData.put(uvValue);
|
||||
textureArrayBufferData.put(uvValue);
|
||||
}
|
||||
if(textureArrayBufferData.position() > 0){
|
||||
textureArrayBufferData.flip();
|
||||
mesh.bufferTextureCoords(textureArrayBufferData, 2);
|
||||
}
|
||||
TextureArrayBufferData.flip();
|
||||
mesh.bufferTextureCoords(TextureArrayBufferData, 2);
|
||||
}
|
||||
} catch (NullPointerException ex){
|
||||
ex.printStackTrace();
|
||||
|
||||
@ -86,7 +86,7 @@ public class MeshLoader {
|
||||
int vertexCount = 0;
|
||||
try {
|
||||
vertexCount = mesh.mNumVertices();
|
||||
FloatBuffer VertexArrayBufferData = BufferUtils.createFloatBuffer(vertexCount * 3);
|
||||
FloatBuffer vertexArrayBufferData = BufferUtils.createFloatBuffer(vertexCount * 3);
|
||||
float[] temp = new float[3];
|
||||
boolean definedDimensions = false;
|
||||
float minX = 0, maxX = 0, minY = 0, maxY = 0, minZ = 0, maxZ = 0;
|
||||
@ -120,11 +120,12 @@ public class MeshLoader {
|
||||
temp[0] = (float)transformedVertex.x;
|
||||
temp[1] = (float)transformedVertex.y;
|
||||
temp[2] = (float)transformedVertex.z;
|
||||
VertexArrayBufferData.put(temp);
|
||||
vertexArrayBufferData.put(temp);
|
||||
}
|
||||
if(vertexArrayBufferData.position() > 0){
|
||||
vertexArrayBufferData.flip();
|
||||
rVal.bufferVertices(vertexArrayBufferData, 3);
|
||||
}
|
||||
|
||||
VertexArrayBufferData.flip();
|
||||
rVal.bufferVertices(VertexArrayBufferData, 3);
|
||||
} catch (NullPointerException ex){
|
||||
ex.printStackTrace();
|
||||
}
|
||||
@ -134,9 +135,9 @@ public class MeshLoader {
|
||||
AIVector3D.Buffer normals = mesh.mNormals();
|
||||
try {
|
||||
int normalCount = mesh.mNumVertices();
|
||||
FloatBuffer NormalArrayBufferData;
|
||||
FloatBuffer normalArrayBufferData;
|
||||
if(normalCount > 0){
|
||||
NormalArrayBufferData = BufferUtils.createFloatBuffer(normalCount * 3);
|
||||
normalArrayBufferData = BufferUtils.createFloatBuffer(normalCount * 3);
|
||||
float[] temp = new float[3];
|
||||
for (int i = 0; i < normalCount; i++) {
|
||||
AIVector3D normal = normals.get(i);
|
||||
@ -144,10 +145,12 @@ public class MeshLoader {
|
||||
temp[0] = (float)transformedNormal.x();
|
||||
temp[1] = (float)transformedNormal.y();
|
||||
temp[2] = (float)transformedNormal.z();
|
||||
NormalArrayBufferData.put(temp);
|
||||
normalArrayBufferData.put(temp);
|
||||
}
|
||||
if(normalArrayBufferData.position() > 0){
|
||||
normalArrayBufferData.flip();
|
||||
rVal.bufferNormals(normalArrayBufferData, 3);
|
||||
}
|
||||
NormalArrayBufferData.flip();
|
||||
rVal.bufferNormals(NormalArrayBufferData, 3);
|
||||
}
|
||||
} catch (NullPointerException ex){
|
||||
ex.printStackTrace();
|
||||
@ -166,8 +169,10 @@ public class MeshLoader {
|
||||
}
|
||||
elementArrayBufferData.put(face.mIndices());
|
||||
}
|
||||
if(elementArrayBufferData.position() > 0){
|
||||
elementArrayBufferData.flip();
|
||||
rVal.bufferFaces(elementArrayBufferData,elementCount);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -181,19 +186,21 @@ public class MeshLoader {
|
||||
try {
|
||||
if(texturecoords != null){
|
||||
int textureCoordCount = texturecoords.capacity();
|
||||
FloatBuffer TextureArrayBufferData;
|
||||
FloatBuffer textureArrayBufferData;
|
||||
if(textureCoordCount > 0){
|
||||
TextureArrayBufferData = BufferUtils.createFloatBuffer(textureCoordCount * 2);
|
||||
textureArrayBufferData = BufferUtils.createFloatBuffer(textureCoordCount * 2);
|
||||
float[] temp = new float[2];
|
||||
for (int i = 0; i < textureCoordCount; i++) {
|
||||
AIVector3D normal = texturecoords.get(i);
|
||||
temp[0] = normal.x();
|
||||
temp[1] = normal.y();
|
||||
// temp[2] = normal.z();
|
||||
TextureArrayBufferData.put(temp);
|
||||
textureArrayBufferData.put(temp);
|
||||
}
|
||||
if(textureArrayBufferData.position() > 0){
|
||||
textureArrayBufferData.flip();
|
||||
rVal.bufferTextureCoords(textureArrayBufferData, 2);
|
||||
}
|
||||
TextureArrayBufferData.flip();
|
||||
rVal.bufferTextureCoords(TextureArrayBufferData, 2);
|
||||
}
|
||||
}
|
||||
} catch (NullPointerException ex){
|
||||
@ -299,8 +306,12 @@ public class MeshLoader {
|
||||
boneIndexDataBuffer.put(index);
|
||||
boneWeightDataBuffer.put(weight);
|
||||
}
|
||||
if(boneIndexDataBuffer.position() > 0){
|
||||
boneIndexDataBuffer.flip();
|
||||
}
|
||||
if(boneWeightDataBuffer.position() > 0){
|
||||
boneWeightDataBuffer.flip();
|
||||
}
|
||||
|
||||
if(!Globals.HEADLESS){
|
||||
rVal.bufferBoneIndices(boneIndexDataBuffer);
|
||||
|
||||
@ -789,38 +789,44 @@ public class TerrainChunkModelGeneration {
|
||||
//
|
||||
int elementCount = data.getFaceElements().size();
|
||||
try {
|
||||
FloatBuffer VertexArrayBufferData = BufferUtils.createFloatBuffer(elementCount * 3);
|
||||
FloatBuffer NormalArrayBufferData = BufferUtils.createFloatBuffer(elementCount * 3);
|
||||
FloatBuffer TextureArrayBufferData = BufferUtils.createFloatBuffer(elementCount * 2);
|
||||
FloatBuffer vertexArrayBufferData = BufferUtils.createFloatBuffer(elementCount * 3);
|
||||
FloatBuffer normalArrayBufferData = BufferUtils.createFloatBuffer(elementCount * 3);
|
||||
FloatBuffer textureArrayBufferData = BufferUtils.createFloatBuffer(elementCount * 2);
|
||||
for(int element : data.getFaceElements()){
|
||||
//for each element, need to push vert, normal, etc
|
||||
|
||||
//push current vertex
|
||||
VertexArrayBufferData.put(data.getVertices().get(element*3+0));
|
||||
VertexArrayBufferData.put(data.getVertices().get(element*3+1));
|
||||
VertexArrayBufferData.put(data.getVertices().get(element*3+2));
|
||||
vertexArrayBufferData.put(data.getVertices().get(element*3+0));
|
||||
vertexArrayBufferData.put(data.getVertices().get(element*3+1));
|
||||
vertexArrayBufferData.put(data.getVertices().get(element*3+2));
|
||||
|
||||
//push current normals
|
||||
NormalArrayBufferData.put(data.getNormals().get(element*3+0));
|
||||
NormalArrayBufferData.put(data.getNormals().get(element*3+1));
|
||||
NormalArrayBufferData.put(data.getNormals().get(element*3+2));
|
||||
normalArrayBufferData.put(data.getNormals().get(element*3+0));
|
||||
normalArrayBufferData.put(data.getNormals().get(element*3+1));
|
||||
normalArrayBufferData.put(data.getNormals().get(element*3+2));
|
||||
|
||||
//push current uvs
|
||||
TextureArrayBufferData.put(data.getUVs().get(element*2+0));
|
||||
TextureArrayBufferData.put(data.getUVs().get(element*2+1));
|
||||
textureArrayBufferData.put(data.getUVs().get(element*2+0));
|
||||
textureArrayBufferData.put(data.getUVs().get(element*2+1));
|
||||
}
|
||||
|
||||
//actually buffer vertices
|
||||
VertexArrayBufferData.flip();
|
||||
mesh.bufferVertices(VertexArrayBufferData, 3);
|
||||
if(vertexArrayBufferData.position() > 0){
|
||||
vertexArrayBufferData.flip();
|
||||
mesh.bufferVertices(vertexArrayBufferData, 3);
|
||||
}
|
||||
|
||||
//actually buffer normals
|
||||
NormalArrayBufferData.flip();
|
||||
mesh.bufferNormals(NormalArrayBufferData, 3);
|
||||
if(normalArrayBufferData.position() > 0){
|
||||
normalArrayBufferData.flip();
|
||||
mesh.bufferNormals(normalArrayBufferData, 3);
|
||||
}
|
||||
|
||||
//actually buffer UVs
|
||||
TextureArrayBufferData.flip();
|
||||
mesh.bufferTextureCoords(TextureArrayBufferData, 2);
|
||||
if(textureArrayBufferData.position() > 0){
|
||||
textureArrayBufferData.flip();
|
||||
mesh.bufferTextureCoords(textureArrayBufferData, 2);
|
||||
}
|
||||
|
||||
|
||||
} catch (NullPointerException ex){
|
||||
@ -841,8 +847,10 @@ public class TerrainChunkModelGeneration {
|
||||
for(float samplerVec : data.getTextureSamplers()){
|
||||
samplerBuffer.put(samplerVec);
|
||||
}
|
||||
if(samplerBuffer.position() > 0){
|
||||
samplerBuffer.flip();
|
||||
mesh.bufferCustomFloatAttribArray(samplerBuffer, 3, SAMPLER_INDEX_ATTRIB_LOC);
|
||||
}
|
||||
} catch (NullPointerException ex){
|
||||
ex.printStackTrace();
|
||||
}
|
||||
@ -856,8 +864,10 @@ public class TerrainChunkModelGeneration {
|
||||
for(float samplerVec : data.getTextureRatioVectors()){
|
||||
samplerBuffer.put(samplerVec);
|
||||
}
|
||||
if(samplerBuffer.position() > 0){
|
||||
samplerBuffer.flip();
|
||||
mesh.bufferCustomFloatAttribArray(samplerBuffer, 3, SAMPLER_RATIO_ATTRIB_LOC);
|
||||
}
|
||||
} catch (NullPointerException ex){
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
@ -118,7 +118,9 @@ public class Texture {
|
||||
}
|
||||
}
|
||||
}
|
||||
if(data.position() > 0){
|
||||
data.flip();
|
||||
}
|
||||
//call if width != height so opengl figures out how to unpack it properly
|
||||
if(width != height){
|
||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||
|
||||
@ -105,7 +105,9 @@ public class ServerFluidManager {
|
||||
for(int x = 0; x < model.getElevation().length; x++){
|
||||
floatView.put(model.getElevation()[x]);
|
||||
}
|
||||
if(floatView.position() > 0){
|
||||
floatView.flip();
|
||||
}
|
||||
FileUtils.saveBinaryToSavePath(saveName, "./fluid.dat", buffer.array());
|
||||
FileUtils.serializeObjectToSavePath(saveName, "./fluid.json", model);
|
||||
}
|
||||
|
||||
@ -110,7 +110,9 @@ public class ServerTerrainManager {
|
||||
for(int x = 0; x < model.getElevation().length; x++){
|
||||
floatView.put(model.getElevation()[x]);
|
||||
}
|
||||
if(floatView.position() > 0){
|
||||
floatView.flip();
|
||||
}
|
||||
FileUtils.serializeObjectToSavePath(saveName, "./terrain.json", model);
|
||||
FileUtils.saveBinaryToSavePath(saveName, "./terrain.dat", buffer.array());
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user