Eu criei um modelo no Blender. Agora eu quero ler esse modelo 3D no meu programa c ++. Imaginei que um modelo pode ser exportado para vários formatos de arquivo, por exemplo .obj, .3ds ou COLLADA e, em seguida, pode ser lido em um programa em c ++. Estou pesquisando na web há um bom tempo e encontrei muitos tutoriais. Mas eu tive problemas com a maioria deles. Por exemplo, no tutorial do Nehe, eles estão usando o glaux, que eu não quero usar no meu programa. E os tutoriais restantes usam o md2, que não é suportado pelo Blender.
Então, alguém pode me orientar qual formato de arquivo usar para exportar o modelo 3D e como carregá-lo no meu programa OpenGL? Além disso, como posso animar esse modelo? É possível adicionar efeitos extras, como o mapeamento de tons, depois que ele foi carregado no programa c ++ usando o OpenGL? se sim, então como?
PS Estou usando Linux para desenvolvimento de jogos
11
O Blender 2.60 corrigiu o suporte à animação COLLADA; foi mais ou menos quebrado nas versões anteriores. No entanto, se você ainda não carregou nenhum formato de modelo em seu próprio código, sugiro aprender a carregar .obj primeiro. Está em ASCII, por isso é legível por humanos e fácil de ler, sem bibliotecas externas de carregadores.
fonte
O 3ds não contém nenhum dado de animação para que não funcione. Collada Eu não sei muito, mas quando decidi qual formato usar no meu jogo, pesquisei e comparei muito e finalmente fui com o formato B3D, ele suporta animação esquelética e é carregável pela Irrlicht (também contém valores de iluminação )
Eu uso o exportador 'b3d pipeline' do 3dsMax e codifiquei meu próprio sombreador hlsl para animar e iluminar as malhas, ele funciona muito bem.
Você pode verificar como o Irrlicht faz (por exemplo, carregar e animar), mas faz a animação em software, mas existem exemplos se você pesquisar um pouco sobre como fazer isso com um sombreador (se você quiser). Uma coisa boa é que o Irrlicht suporta o OpenGL e o Linux.
Outro formato bastante simples é o formato .X, deve haver muitos exemplos de como exportar, carregar, analisar e configurar o esqueleto e animar com ele. É um formato Microsof, então talvez você não queira usá-lo :-)
O mapeamento de tons e outras coisas não têm absolutamente nada a ver com animação, então sim, se você souber como usar essa técnica, poderá fazê-lo com malhas animadas.
fonte