¿Cómo descubrieron las personas cómo escribir renderizadores desde cero?

Fue una larga serie de mejoras graduales, que comenzó a principios de la década de 1960.

Esto es de 1961:

Esto es de 1968:

Puedes ver la línea de tiempo aquí:
Cronología de la animación por computadora en cine y televisión – Wikipedia

Básicamente, antes de los gráficos en tiempo real ya había documentos que discutían varios enfoques para el renderizado, y varias técnicas que más tarde se aceleraron por hardware.

Por ejemplo, el z-buffering fue aparentemente inventado en 1974. Eso fue antes de Microsoft Windows:

Z-buffering – Wikipedia

También creo que vi documentos que explican varios algoritmos (como volúmenes de sombra) y dichos documentos eran anteriores a OpenGL.

Entonces, básicamente … alguien primero pensó en cómo conectar vectores 3D e imágenes 2D. Es posible derivar la perspectiva transformada en papel, ¿sabes? Entonces alguien conectó matrices. Entonces alguien descubrió el algoritmo del pintor, algoirhtm básico de línea brezenham. Luego, alguien descubrió el sombreado básico (phong), luego la gente pensó en las texturas, luego las hizo correctas en perspectiva, comenzó a agregar filtros, etc. Y finalmente llegamos al flujo de trabajo de pbr (y ahí es donde estamos ahora).

Entonces, fue una serie muy, muy larga de pequeñas mejoras graduales, respaldada por muchos inventos y una gran cantidad de artículos matemáticos y científicos.

“Desde cero” es un poco exagerado: muchas de las matemáticas involucradas son antiguas , anteriores a cualquier civilización actual por miles de años (especialmente cuando se trata de geometría). Los diferentes renderizadores se basan en diferentes conceptos, como el movimiento de la luz (principalmente desde la física) o las teorías de cómo presentar los efectos de la luz en las imágenes (principalmente el arte).

Por supuesto, eso no quiere decir que las técnicas modernas de renderizado no requieran mucho pensamiento e investigación original, hasta el día de hoy, se están desarrollando nuevas técnicas con bastante regularidad, pero el renderizado no se desarrolló en el vacío.