Skip to content

KriawqZero/mine_glModerno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mine (OpenGL Moderno)

Uma tentativa de evolução e refatoração do meu clone de Minecraft feito com OpenGL Legado.

Este repositório nasceu da percepção de que a minha primeira tentativa de construir um motor de voxels — embora funcional — utilizava práticas defasadas e pouco performáticas (o "modo imediato" do OpenGL). A ideia aqui era fazer as coisas do jeito certo: implementando a pipeline programável com Shaders, VBOs (Vertex Buffer Objects) e VAOs (Vertex Array Objects).

O Contexto do Fracasso

Sendo honesto, este projeto não atingiu o seu objetivo principal.

Na época do desenvolvimento (final do semestre letivo), o meu tempo livre foi engolido pelas demandas da escola. Aliado a isso, a curva de aprendizado para pular do OpenGL Legado para o Moderno se provou mais íngreme do que eu antecipava. Configurar a abstração das classes de Shader, montar e gerenciar buffers manualmente em C++ e fazer a matemática de matrizes passar corretamente para a GPU me tomou muito esforço.

Acabei não conseguindo reproduzir no OpenGL Moderno a mesma quantidade de funcionalidades e o mesmo "mundo" gerado que eu tinha na versão anterior. O projeto travou em um estágio inicial.

Aprendizados (Apesar de Tudo)

Mesmo não tendo terminado em um motor completo e funcional, a tentativa foi extremamente válida:

  • Entendimento da Pipeline Programável: Foi aqui que escrevi e carreguei meus primeiros vertex_shader.vert e fragment_shader.frag.
  • Arquitetura de Motor Gráfico: A estrutura das pastas e a organização das classes tentou ser muito mais limpa do que na minha versão inicial, delegando as responsabilidades corretamente entre a Câmera, Entradas (Callbacks) e as Camadas de Renderização (WindowTool e Shader).

Tecnologias Abordadas

  • C++ 20: Linguagem base.
  • OpenGL (Moderno): Pipeline programável (Core Profile).
  • GLEW: Utilizado desta vez para carregar as extensões do OpenGL (em vez do GLAD).
  • GLFW & GLM: Manuseio de janelas e matemática matricial, respectivamente.
  • CMake: Orquestração do build.

Conclusão

Este repositório serve como um "cemitério de código" produtivo. É a prova de que reescrever um projeto do zero com tecnologias melhores não é garantia de sucesso imediato, mas os tropeços no meio do caminho (especialmente com a compilação de Shaders na mão) ensinaram lições que ficaram.

About

Uma tentativa de evolução do meu clone voxel para a pipeline programável (OpenGL Moderno e Shaders).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors