InterleavedGeometry(GeometryArray ga) { if (vertexTextures) { if (vertexTexture2) tstride = 2 ; else if (vertexTexture3) tstride = 3 ; else if (vertexTexture4) tstride = 4 ; tcount = ga.getTexCoordSetCount() ; vstride += tcount * tstride ; } if (vertexColors) { coffset = vstride ; if (vertexColor3) vstride += 3 ; else vstride += 4 ; } if (vertexNormals) { noffset = vstride ; vstride += 3 ; } poffset = vstride ; vstride += 3 ; }
InterleavedGeometry(GeometryArray ga) { if (vertexTextures) { if (vertexTexture2) tstride = 2 ; else if (vertexTexture3) tstride = 3 ; else if (vertexTexture4) tstride = 4 ; tcount = ga.getTexCoordSetCount() ; vstride += tcount * tstride ; } if (vertexColors) { coffset = vstride ; if (vertexColor3) vstride += 3 ; else vstride += 4 ; } if (vertexNormals) { noffset = vstride ; vstride += 3 ; } poffset = vstride ; vstride += 3 ; }
int getInterleavedColorOffset(GeometryArray geo) { int offset = 0; int vformat = geo.getVertexFormat(); if ((vformat & GeometryArray.TEXTURE_COORDINATE_2) == GeometryArray.TEXTURE_COORDINATE_2) { offset += 2 * geo.getTexCoordSetCount(); } else if ((vformat & GeometryArray.TEXTURE_COORDINATE_3) == GeometryArray.TEXTURE_COORDINATE_3) { offset += 3 * geo.getTexCoordSetCount(); } return offset; }
int getInterleavedColorOffset(GeometryArray geo) { int offset = 0; int vformat = geo.getVertexFormat(); if ((vformat & GeometryArray.TEXTURE_COORDINATE_2) == GeometryArray.TEXTURE_COORDINATE_2) { offset += 2 * geo.getTexCoordSetCount(); } else if ((vformat & GeometryArray.TEXTURE_COORDINATE_3) == GeometryArray.TEXTURE_COORDINATE_3) { offset += 3 * geo.getTexCoordSetCount(); } return offset; }
int getInterleavedNormalOffset(GeometryArray geo) { int offset = 0; int vformat = geo.getVertexFormat(); if ((vformat & GeometryArray.TEXTURE_COORDINATE_2) == GeometryArray.TEXTURE_COORDINATE_2) { offset += 2 * geo.getTexCoordSetCount(); } else if ((vformat & GeometryArray.TEXTURE_COORDINATE_3) == GeometryArray.TEXTURE_COORDINATE_3) { offset += 3 * geo.getTexCoordSetCount(); } if ((vformat & GeometryArray.COLOR_3) == GeometryArray.COLOR_3) { offset += 3; } else if ((vformat & GeometryArray.COLOR_4) == GeometryArray.COLOR_4){ offset += 4; } return offset; }
/******************** Helper methods ***************************************/ int getInterleavedVertexOffset(GeometryArray geo) { int offset = 0; int vformat = geo.getVertexFormat(); if ((vformat & GeometryArray.COLOR_3) == GeometryArray.COLOR_3) { offset += 3; } else if ((vformat & GeometryArray.COLOR_4) == GeometryArray.COLOR_4){ offset += 4; } if ((vformat & GeometryArray.NORMALS) != 0) offset += 3; if ((vformat & GeometryArray.TEXTURE_COORDINATE_2) == GeometryArray.TEXTURE_COORDINATE_2) { offset += 2 * geo.getTexCoordSetCount(); } else if ((vformat & GeometryArray.TEXTURE_COORDINATE_3) == GeometryArray.TEXTURE_COORDINATE_3) { offset += 3 * geo.getTexCoordSetCount(); } return offset; }
int getInterleavedStride(GeometryArray geo) { int offset = 3; // Add 3 for vertices int vformat = geo.getVertexFormat(); if ((vformat & GeometryArray.COLOR_3) == GeometryArray.COLOR_3) { offset += 3; } else if ((vformat & GeometryArray.COLOR_4) == GeometryArray.COLOR_4){ offset += 4; } if ((vformat & GeometryArray.NORMALS) != 0) offset += 3; if ((vformat & GeometryArray.TEXTURE_COORDINATE_2) == GeometryArray.TEXTURE_COORDINATE_2) { offset += 2 * geo.getTexCoordSetCount(); } else if ((vformat & GeometryArray.TEXTURE_COORDINATE_3) == GeometryArray.TEXTURE_COORDINATE_3) { offset += 3 * geo.getTexCoordSetCount(); } return offset; }
int getInterleavedVertexOffset(GeometryArray geo) { int offset = 0; int vformat = geo.getVertexFormat(); if ((vformat & GeometryArray.COLOR_3) == GeometryArray.COLOR_3) { offset += 3; } else if ((vformat & GeometryArray.COLOR_4) == GeometryArray.COLOR_4){ offset += 4; } if ((vformat & GeometryArray.NORMALS) != 0) offset += 3; if ((vformat & GeometryArray.TEXTURE_COORDINATE_2) == GeometryArray.TEXTURE_COORDINATE_2) { offset += 2 * geo.getTexCoordSetCount(); } else if ((vformat & GeometryArray.TEXTURE_COORDINATE_3) == GeometryArray.TEXTURE_COORDINATE_3) { offset += 3 * geo.getTexCoordSetCount(); } return offset; }
int getInterleavedStride(GeometryArray geo) { int offset = 3; // Add 3 for vertices int vformat = geo.getVertexFormat(); if ((vformat & GeometryArray.COLOR_3) == GeometryArray.COLOR_3) { offset += 3; } else if ((vformat & GeometryArray.COLOR_4) == GeometryArray.COLOR_4){ offset += 4; } if ((vformat & GeometryArray.NORMALS) != 0) offset += 3; if ((vformat & GeometryArray.TEXTURE_COORDINATE_2) == GeometryArray.TEXTURE_COORDINATE_2) { offset += 2 * geo.getTexCoordSetCount(); } else if ((vformat & GeometryArray.TEXTURE_COORDINATE_3) == GeometryArray.TEXTURE_COORDINATE_3) { offset += 3 * geo.getTexCoordSetCount(); } return offset; }
@Override protected void writeConstructorParams( DataOutput out ) throws IOException { vertexCount = ((GeometryArray)node).getVertexCount(); vertexFormat = ((GeometryArray)node).getVertexFormat(); texCoordSetCount = ((GeometryArray)node).getTexCoordSetCount(); texCoordSetMap = new int[ ((GeometryArray)node).getTexCoordSetMapLength() ]; ((GeometryArray)node).getTexCoordSetMap( texCoordSetMap ); out.writeInt(vertexCount); out.writeInt(vertexFormat); out.writeInt( texCoordSetCount ); out.writeInt( texCoordSetMap.length ); for(int i=0; i<texCoordSetMap.length; i++) out.writeInt( texCoordSetMap[i] ); super.writeConstructorParams( out ); }
offset += 3; if ((vformat & GeometryArray.TEXTURE_COORDINATE_2) == GeometryArray.TEXTURE_COORDINATE_2) { offset += 2 * geom.getTexCoordSetCount(); offset += 3 * geom.getTexCoordSetCount();
int texSets = geomArray.getTexCoordSetCount(); int valid;