·

Cursos Gerais ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Aplicação interativa com gráficos 3D iluminação e texturização A tarefa consiste em desenvolver uma aplicação que mostre gráficos 3D com primitivas do OpenGL como na atividade 3 mas que utilize shaders de iluminação e texturização Além disso a aplicação deve ser interativa o usuário deve ser capaz de interagir com os gráficos e animações através do mouse eou teclado pode ser através da ImGui Assim como nas tarefas anteriores a aplicação deve necessariamente usar a biblioteca ABCg Faça o melhor que conseguir dentro do prazo e utilize o máximo que puder do conteúdo das aulas Lembrese que esta é a tarefa com maior peso na avaliação Dicas para uma boa avaliação Gere os modelos geométricos de forma procedural embora seja mais fácil ler um arquivo OBJ com os modelos já prontos o projeto poderá ser melhor avaliado se você implementar algoritmos para gerar em tempo de execução a lista de vértices e índices de objetos como planos cubos esferas cones e cilindros Essa é uma forma de demonstrar compreensão sobre o uso de geometria e primitivas do OpenGL mesmo que o resultado visual fique mais simples do que usar um modelo já pronto Gerar a geometria em tempo de execução também é uma forma de evitar o aumento do tamanho do arquivo de dados do binário WebAssembly Explore o uso de composição de transformações geométricas combine transformações geométricas para modelar estruturas complexas a partir de objetos mais simples ex um labirinto com paredes feitas a partir de cubos um túnel formado pela junção de vários cilindros para fazer animações que mostrem uma hierarquia de transformações ex simulação da órbita da Lua em torno da Terra e da Terra em torno do Sol animação das articulações de um braço robótico ou para criar novos modelos de câmera ex uma câmera que simule o comportamento de um avião ou uma câmera em terceira pessoa Essa é uma maneira de mostrar seu conhecimento sobre transformações e espaços Implemente novos shaders modifique os shaders vistos em aula para obter novos comportamentos da iluminação ex suporte para mais fontes de luz simulação de atenuação da luz simulação de neblina e alterações nos modos de texturização ex combinação de texturas textura procedural Monte cenários formados por objetos renderizados com diferentes shaders Cuide do visual e da apresentação da aplicação procure exibir a aplicação WebAssembly em tela cheia para ampliar a sensação de imersão Procure integrar a interface da ImGui ao estilo da sua aplicação No README do GitHub explique o que foi feito mas também como foi feito e de forma detalhada É através deste documento que você mostrará seu nível de entendimento sobre tudo o que foi visto durante o quadrimestre Mantenha o código organizado e documentado através de comentários Instruções Prérequisitos httpshbatagelogithubiocgprC3A9requisitoshtml Configuração do ambiente httpshbatagelogithubiocgconfightml ABCg httpshbatagelogithubiocgabcghtml Configs do VSCode httpshbatagelogithubiocgvscodehtml Nesses links acima tem várias aplicações de exemplo feitas durante as aulas Requisitos O código NECESSARIAMENTE precisa usar a engine do professor NÃO PODE USAR OPENGL LEGADO isso vai ZERAR a atividade Por favor leia com cuidado TODAS AS INSTRUÇÕES do professor dispostas nos links acima Por favor configure o seu VSCode de acordo antes de começar isso pode gerar problemas O WebAssembly PRECISA ser gerado Colocar junto aos arquivos Deve ser gerado um readmemd com uma descrição DETALHADA da aplicação e como foi implementada com trechos de código