← Proyectos
VenRadnombre provisional
Mi motor gráfico, escrito desde cero en C++ y OpenGL: un renderer, un sistema de entidades y mundos que se cargan por zonas.
- Estado:
- fase temprana
- Hecho con:
- C++, OpenGL, GLSL
- Código:
- privado, lo enseño en una llamada
La idea
Quiero entender cómo funciona un motor por dentro, y la mejor forma que conozco es construir uno. Cada pieza la escribo yo: desde cómo llega un triángulo a la pantalla hasta cómo se organiza todo lo que se mueve en un mundo.
A largo plazo, este motor es la base para un mundo de fantasía por zonas que se simule solo. Eso es la visión, no lo que existe hoy.
Las piezas
RendererLuces, materiales, skybox y miles de objetos instanciados en pantalla.Ver cómo funciona →
Generador de cuevasSalas que crecen solas, se conectan entre sí y acaban siendo paredes en 3D.Ver cómo funciona →
Mundo por zonasCada zona se genera una vez y no se rehace al volver.en desarrollo
Sistema de entidadesLo que organiza todo lo que vive y se mueve.en desarrollo
Dónde estoy
Hecho
- Luces direccionales, puntuales y focos
- Instancing estático y dinámico
- Carga de modelos 3D
- Paredes de cueva suavizadas
- Un jugador controlable sobre el sistema de entidades
Ahora
- Mejorar las luces
- Sombras
- Normal maps
Siguiente
- Suelo y techo de la cueva siguiendo las paredes
- Frustum culling
- Cielo procedural
- Guardar y cargar partida