Rasterizador 3D desde Cero en C++ para un Estudio Indie
Visión general
De qué trata este proyecto.
Implementa pipeline gráfico software: vertex transform (model → view → projection), clipping en clip space, división por w, viewport transform, rasterización de triángulos con algoritmo edge-equation, z-buffer y interpolación perspectiva-correcta de normales y UVs. Implementa shader Lambert con luz direccional. Renderiza 4 escenas de referencia (cubo, esfera tesellada, modelo OBJ Stanford Bunny, plano texturizado) a 800×600 PNG. Compara visualmente con render de referencia provisto. Entrega código, escenas, PNGs y memoria técnica de 4 páginas.
El Briefing
Lo que harás y lo que demostrarás.
Construir un rasterizador 3D software con z-buffer, interpolación perspectiva-correcta y shading Lambert que reproduzca visualmente 4 escenas de referencia.
Earning criteria — what you'll demonstrate
- Implementar las transformaciones de la pipeline gráfica end-to-end
- Aplicar interpolación perspectiva-correcta para atributos por vértice
- Usar z-buffer correctamente para resolver visibilidad
- Implementar shading Lambert con vectores normales transformados
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Implementar un rasterizador desde cero entrena geometría 3D, álgebra lineal aplicada y gestión de memoria — base que un ingeniero de software lleva a cualquier dominio gráfico, simulación o visión por computador.
Este proyecto afina
- rasterization
- computer-graphics
- rendering-pipeline
Ingeniero Backend
El rasterizador es ejercicio de C++ moderno con foco en performance — un ingeniero backend que ha pasado por aquí escribe código sistemas con criterio.
Este proyecto afina
- cpp
- linear-algebra
- rasterization