Aplicações que envolvem 3D (em visualização, interfaces, processamento, etc....) necessitam de algumas características importantes.
Para uma determinada aplicação, por exemplo um jogo ou simulador (para automáveis, aviões ou construções), é necessário atentar para as características dos sistemas. Quanto mais fiel se desejar que o sistema seja, mais pesado computacionalmente o sistema será.
Para um simulador de automóveis é necessário fazer considerações sobre aerodinâmica, resistência dos materiais (pneus e lataria), consumo de combustível, os atritos envolvidos (do sistema com o ambiente e internos ao sistema), os aquecimentos que irão aparecer em decorrência dos atritos envolvidos e muitas outras coisas que caberia a um engenheiro mecânico especificar.
Para desenvolver uma aplicação 3D, para um jogo por exemplo, antes de qualquer coisa são levantadas as características do modelo desejado, tais como dimensões, articulações, texturas da superfície, etc.... Em seguida o modelo pode ser feito em uma maquete ou similar. A partir da maquete, um artista gráfico usa um software específico para fazer a modelagem computacional, como o Blender.
Com o modelo pronto, este é salvo em um formato de arquivo específico, o qual contém informações sobre os vértices do objeto, as ligações entre os vértices, as articulações e outras coisas mais. O programador irá então desenvolver a aplicação em cima deste modelo para animá-lo ou controlá-lo, assim surgem os personagens dos jogos, modelos de prédios, carros, aviões, navios, etc......
Entretanto, existem API's que ajudam o trabalho dos desenvolvedores de aplicações 3D. É o caso da OpenGL, que tem interfaces nativas com C/C++ e Python e, novamente, OpenGL é uma API livre (se não fosse, eu não estaria falando dela aqui). Algumas funções estão prontas para serem usadas com OpenGL, como interfaces com a placa de vídeo, mouse, teclado, renderização, etc.... Isto permite a economia de muito tempo de implementação.
Para fechar o post, segue um vídeo que encontrei no YouTube sobre modelagem 3D.
Este blog tem por finalidade apresentar meus trabalhos e alguns aspectos de minha vida pessoal. Eu (editor do blog) sou engenheiro e mestre em engenharia de teleinformática, sou usuário e entusiasta de software livre, sou católico praticante e espero que o meu blog possa te ajudar.
Nenhum comentário:
Postar um comentário