6
Formato OBJ Leandro Tonietto Computação Gráfica

Formato OBJ

  • Upload
    melia

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

Formato OBJ. Leandro Tonietto Computação Gráfica. Formato OBJ - Geral. O formato OBJ carrega informações sobre a malha poligonal, sobre o mapeamento de texturas e uso de materiais. - PowerPoint PPT Presentation

Citation preview

Page 1: Formato OBJ

Formato OBJ

Leandro Tonietto

Computação Gráfica

Page 2: Formato OBJ

Formato OBJ - Geral• O formato OBJ carrega informações sobre a malha poligonal, sobre

o mapeamento de texturas e uso de materiais.• No formato mais básico, o arquivo é composto por um conjunto de

vértices (linhas que começam com “v”), conjunto de normais (linhas que começam com “vn”), conjunto de mapeamentos de texturas (linhas que começam com “vt”) e conjunto de faces (linhas que começam com “f”). É possível ainda que o arquivo seja formado grupos. Neste caso, cada grupo delimita o seu subconjunto de vértices, normais, mapeamentos e faces.

• Os dados de um grupo são delimitados por uma linha com instrução: “g <identificador nominal>” até encontrar um novo “g”.

• Na estrutura de dados do programa, é importante guardar informações sobre o grupo, inclusive, atribuindo um tipo relacionado ao seu nome, para futura classificação e facilitação de mapeamento (textura certa para cada tipo).

Page 3: Formato OBJ

Formato OBJ - Geral

• Formato para leitura das faces:Somente vértices:f v1 v2 v3

Completo:f v1/t1/n1 v2/t2/n2 v3/t3/n3

Vértices e normais:f v1//n1 v2//n2 v3//n3

Vértices e texturas:f v1/t1 v2/t2 v3/t3

Page 4: Formato OBJ

Formato OBJ - Geral

• Dicas:– As faces não apontam diretamente para os vértices, mas sim

para o seu índice no array de vértices do arquivo.– Os índices começam por 1 no arquivo, no entanto, no array

C/C++, eles começam em 0. Então, na leitura, diminua 1 do valor lido para o índice do vértice da face.

– As faces podem sem triângulos, quadriláteros ou polígonos quaisquer; portanto, não possível prever a quantidade de vértices que terá antes de ler o arquivo. Use vector de GLint.

– Linhas que começam com “#” são comentários e devem ser ignoradas.

– Mais informações podem ser obtidas a partir de: http://www.fileformat.info/format/wavefrontobj/egff.htm

Page 5: Formato OBJ

Formato OBJ - Geralgv -0.4389 0.9144 -0.9910v -0.4389 0.8128 -0.9910v -0.4770 0.8128 -0.9910v -0.4770 0.9144 -0.9910v -0.4770 0.9144 0.9902v -0.4770 0.8128 0.9902v -0.4389 0.8128 0.9902v -0.4389 0.9144 0.9902

g U16f 1 2 3f 3 4 1f 4 3 5f 3 6 5f 5 7 8f 5 6 7f 7 2 1f 1 8 7f 1 4 5f 5 8 1f 6 3 7f 3 2 7

Vértices do grupo

Faces do grupo

Page 6: Formato OBJ

Formato OBJ - Geral

Diagrama de classes para representar o sistema