Mathias1000
Member
Ich programmiere WebGL und möchte meine Vector-Daten von einer Datei einlesen.
Der bestehende Code sieht so aus:
Vectoren.Pos kommt von einer float-Array_
Wie bekomme ich meine Vector-Daten von einer Datei in den Float32Array ?
Die Datei enthält die Daten Binär.
Unter normalen Java kann man die Datei so auslesen:
Der bestehende Code sieht so aus:
PHP:
var fa = new Float32Array(Vectoren.Pos);
gl.bufferData(gl.ARRAY_BUFFER, fa, gl.STATIC_DRAW);
PHP:
Pos: [-1.0, -1.0, 0.0,...........],
Die Datei enthält die Daten Binär.
Unter normalen Java kann man die Datei so auslesen:
PHP:
public static int readIntFrom(InputStream in) throws IOException {
int ch1 = in.read();
int ch2 = in.read();
int ch3 = in.read();
int ch4 = in.read();
return ((ch1 << 0) + (ch2 << 8) + (ch3 << 16) + (ch4 << 24)); // Vertauscht!
}
FileInputStream inputstream = new FileInputStream("v:\\javatest.bin") ;
int len = readIntFrom(inputstream); // Die ersten 4Bytes sind die Anzahl Elemente in der Array.
byte[] data = new byte[len];
inputstream.read(data); // Hier werden Bytes eingelesen.
for (int i = 0; i <= len - 1; i++) {
System.out.println(data[i] + " "); // Test, ob Daten richtig
}
inputstream.close();
Zuletzt bearbeitet: