Caros colegas, boa noite, estou com a seguinte missão:
Ler um arquivo .PLY(de polígonos) e depois com base nas infos dele desenhar um objeto utilizando o OpenGL. Vou tentar utilizar o JOGL para isto, mas antes mesmo de botar a mão na massa no OpenGL eu parei na leitura do arquivo. :?
O arquivo .PLY tem a seguinte carinha.
ply
format ascii 1.0
comment created by platoply
element vertex 12
property float32 x
property float32 y
property float32 z
element face 20
property position 2 2 2
property lambient 0 0 0 1
property ldiffuse 1 1 1 1
property lspecular 1 1 1 1
property mambient 0 0 0 1
property mdiffuse 0.5 0 0 1
property mspecular 1 1 1 1
property shininess 10
property list uint8 int32 vertex_indices
end_header
0 -0.525731 0.850651
0.850651 0 0.525731
0.850651 0 -0.525731
-0.850651 0 -0.525731
-0.850651 0 0.525731
-0.525731 0.850651 0
0.525731 0.850651 0
0.525731 -0.850651 0
-0.525731 -0.850651 0
0 -0.525731 -0.850651
0 0.525731 -0.850651
0 0.525731 0.850651
3 6 2 1
3 2 7 1
3 5 4 3
3 8 3 4
3 11 5 6
3 10 6 5
3 2 10 9
3 3 9 10
3 9 8 7
3 0 7 8
3 1 0 11
3 4 11 0
3 10 2 6
3 11 6 1
3 10 5 3
3 11 4 5
3 9 7 2
3 0 1 7
3 8 9 3
3 0 8 4
O problema que logo enfrentei foi de como eu vou desenterrar os vertices do arquivo(parte onde tem uns números decimais grandinhos). Estava usando o BufferedReader para ler o arquivo e extrair as informações baseando-me nas posições(substr), mas como eu tenho que pegar esses valores e jogá-los em um ArrayList de float(ou até double) não posso me basear em posições para cavá-los do arquivo.
Li algo sobre o DataInputStream para pegar tipos de dados(int, char, float) mas não sei como mesclar a leitura de texto(BufferedReader) e bytes(DataInputStream).
Caso alguma boa alma posso me ajudar, tenha a certeza que estará salvando uma alma do inferno 