3 puntos por GN⁺ 2024-03-05 | 1 comentarios | Compartir por WhatsApp
  • Este experimento, que lleva el motion blur hasta su “límite lógico”, redefine el desenfoque de una manera que reduce la diferencia entre el motion smear de la visión humana y la reproducción en pantalla, y lo aplica a animación procedural en tiempo real
  • En escenas naturales, los conos de la retina integran temporalmente el estímulo lumínico y producen desenfoque en la etapa del receptor, pero en pantallas de bajo frame rate el video sin blur se ve como fotogramas superpuestos en lugar del smear natural
  • El motion blur tradicional promedia el intervalo temporal de un fotograma y se acerca más a una escena natural, pero en objetos rápidos todavía pueden quedar discontinuidades, por lo que una función de obturador (shutter function) que reduzca el peso al inicio y al final produce resultados más naturales
  • La implementación en shader en tiempo real evita el multisampling y el ray tracing analítico, y representa los objetos en movimiento como una función de densidad en coordenadas que incluyen el tiempo; luego renderiza la integral temporal con volume ray casting
  • El resultado final, “Torusphere Accelerator”, aplica blur a una esfera en órbita y a un toro en rotación prácticamente hasta velocidad infinita, y como no existe una “normal con motion blur”, las normales de superficie se tratan con interpolación aparte

Diferencia entre el movimiento en escenas naturales y la reproducción en pantalla

  • El motion blur originalmente era un artefacto de película causado por el movimiento del sujeto mientras el obturador de la cámara estaba abierto, pero se volvió útil porque hace que el video se parezca perceptualmente más a una escena natural
  • En 3D y animación, “simular la cámara” y “verse natural” no siempre tienen por qué ser el mismo objetivo
  • Para entender un motion blur natural hacen falta cuatro preguntas
    • Cómo percibimos el movimiento en una escena natural
    • Cómo percibimos una escena reproducida en pantalla
    • Cuál es la diferencia perceptual entre ambos casos
    • Cómo puede el motion blur de video reducir esa diferencia

Integración temporal de los conos y motion smear

  • En entornos luminosos, el procesamiento inicial de la visión humana está a cargo de los conos, y la fototransducción (phototransduction) no ocurre de inmediato
  • El retraso del estímulo lumínico puede modelarse como una suavización del estímulo en la dirección temporal
  • El ejemplo de los conos de pez dorado de Howlett et al. (2017) muestra la cantidad de fotones que entran al fotorreceptor, la función de ponderación y el “effective stimulus” resultante
  • Si se combina la forma de esa función de ponderación con los tiempos de respuesta conocidos de los conos humanos, se puede simular la imagen percibida a partir de la escena de entrada
  • El resultado es que incluso en escenas naturales ya existe un desenfoque natural a nivel del fotorreceptor: el motion smear
  • La simulación de ejemplo asume que el observador mira un punto fijo y no sigue el objeto con los ojos

Qué hace el motion blur tradicional en video de pantalla

  • Al ver una pantalla con una cantidad limitada de fotogramas por segundo, la imagen percibida de un video sin motion blur no se parece al motion smear esperado, sino a fotogramas superpuestos
  • Un video con motion blur no muestra cada fotograma como un instante aislado, sino como el promedio de todos los instantes dentro del intervalo temporal que cubre ese fotograma
  • Eso es similar a una imagen capturada con una cámara cuyo obturador permanece abierto durante el tiempo de un fotograma
  • La imagen percibida con este método se vuelve mucho más parecida al caso de una escena natural

Reducir discontinuidades con una shutter function

  • Incluso con motion blur tradicional, a ciertas velocidades de los objetos pueden quedar artefactos de discontinuidad en el motion smear
  • En vez de promediar uniformemente todo el intervalo del fotograma, la shutter function da menos peso al inicio y al final del fotograma, y más peso al momento central
  • El nombre viene de una analogía con la eficiencia del obturador de una cámara con diafragma, pero aquí el objetivo no es simular una cámara sino elegir una función que reduzca la diferencia perceptual entre pantalla y escena natural
  • Este problema se parece mucho a construir una window function en procesamiento de señales, y varias window functions populares dan buenos resultados
  • Según pruebas subjetivas, la shutter function se vuelve útil cuando la distancia que recorre el objeto en un fotograma es del mismo orden que su ancho
  • A bajas velocidades no hace tanta falta, pero en objetos que se mueven rápido se ve más natural y los cuadros estáticos también se perciben más suaves
  • Este enfoque no es la simulación habitual de una cámara, y los intervalos temporales de fotogramas consecutivos pueden superponerse
    • En la simulación de cámara común no hay superposición temporal entre fotogramas y muchas veces se descartan los instantes entre ellos

Cómo crear “motion blur infinito” con un shader en tiempo real

  • La animación objetivo combina una esfera en órbita y un toro en rotación, y aplica motion blur a ambos prácticamente hasta velocidad infinita
  • Para que el resultado final fuera interactivo, se implementó como un shader en tiempo real
  • El multisampling consiste en renderizar la escena en varios puntos del tiempo para cada fotograma
    • Cuanto mayor es la velocidad del objeto, más aumenta proporcionalmente la cantidad de muestras necesarias
    • No encaja con una animación de “velocidad infinita”\n- El motion blur con ray tracing analítico también puede ser una alternativa
    • En mallas, existe el método de convertir triángulos en prismas
    • También es posible un enfoque puramente analítico, pero aquí podría resultar más pesado
    • En ambos casos, el tratamiento de materiales seguiría requiriendo multisampling
  • La implementación elegida es más bien un hack que podría llamarse “integrated volume motion blur”
    • Un objeto en movimiento se expresa como una función que recibe coordenadas incluyendo el tiempo y devuelve una densidad de 1 en el interior y 0 en el resto
    • Al integrar esa función de densidad respecto del tiempo, se obtiene la densidad con motion blur para un intervalo temporal arbitrario
    • El resultado se renderiza con volume ray casting
    • No es un método exacto como una fotografía, pero permite manejar trayectorias muy largas con rendimiento en tiempo real

Densidad con motion blur de una esfera en órbita

  • Una esfera en órbita puede reducirse al problema de un círculo en órbita en una sección transversal 2D
  • Se supone que el centro del círculo está a una distancia R del origen y que el radio del círculo es a
  • Si en coordenadas polares se calcula el ángulo θ de la superficie del objeto para un radio dado r, se pueden obtener los instantes en que un punto entra y sale del objeto
  • Si el objeto orbita con velocidad v, se expresa restando el término temporal vt en la coordenada angular
  • En cualquier punto del espacio, la longitud de la intersección entre el intervalo temporal I en el que el objeto existe y el intervalo temporal actual del fotograma F se convierte en la densidad con motion blur
  • Si se aplica una shutter function s, se integra multiplicando la densidad por s(t), y si s tiene una integral indefinida S, puede calcularse en la forma S(max I) - S(min I)
  • La shutter function basada en seno usada en la animación tiene integral total 1 y está diseñada para que, aunque se superponga en el eje temporal, la suma en cualquier instante siga siendo 1

Toro en rotación y spiric section

  • El toro en rotación se trata con el mismo procedimiento que la esfera
  • La sección transversal vertical 2D de un toro es una spiric section, también llamada Spiric of Perseus
  • Si se toma el minor radius del toro como a, el major radius como b y una sección en una posición específica c, el área interior del toro puede expresarse con una fórmula en coordenadas polares
  • Al resolver el ángulo superficial θ se obtienen dos casos, positivo y negativo, y la densidad del solid torus se toma entre ambos límites
  • A partir de ahí, los pasos siguientes son iguales a los de la esfera en órbita: calcular el intervalo temporal y aplicar la integral de la shutter function

Torusphere Accelerator final

  • La escena final combina la esfera y el toro, y se renderiza con volume ray casting estándar
  • Las surface normals requieren tratamiento adicional
    • Como no existe el concepto de “normal de superficie con motion blur”, en la implementación se mezclan las normales
  • La animación en vivo admite interacciones básicas con mouse y toque
  • Puede que no funcione bien en todos los dispositivos, por lo que en la parte superior de la página también se ofrece un video prerenderizado
  • El shader final también puede verse en Shadertoy

Puntos debatidos a partir de la discusión en HN

  • En la discusión de Hacker News apareció la idea de que la calidad del motion blur puede ser una decisión artística
  • También se habló de la importancia de la conversión de espacios de color
  • Se debatió además cómo evolucionó históricamente el motion blur en los VFX de cine
    • Jurassic Park, una película temprana de CG, se mencionó como un caso que usó una box shutter function físicamente imposible
  • El motion blur en juegos sigue siendo un tema polémico

1 comentarios

 
GN⁺ 2024-03-05
Opiniones de Hacker News
  • El compromiso al renderizar o filmar desenfoque de movimiento con una frecuencia de actualización de pantalla finita es que el público puede seguir con la vista los objetos que se mueven en la pantalla.
    En la realidad, hacer eso vuelve nítido al objeto. Por eso habría que rastrear el movimiento de los ojos y aplicar desenfoque según el movimiento relativo, o eliminar por completo el desenfoque de movimiento con una frecuencia de actualización infinita. Ninguna de las dos cosas es práctica con la tecnología actual, así que siempre habrá algo que se sienta extraño. Un buen director o diseñador de juegos elegirá la velocidad de obturación o el desenfoque de renderizado anticipando cómo se moverán los ojos del público.

    • Sin embargo, el público ya acepta el ángulo de obturación como parte del lenguaje visual. Por ejemplo, un ángulo de obturación estrecho da una sensación de video de rap con imagen cortante, mientras que un ángulo de obturación largo da una sensación retro y onírica.
      Si el contenido renderizado no puede hablar ese mismo lenguaje visual, entonces falta una herramienta, independientemente de la frecuencia de actualización. Claro que hay ciertos límites, así que si se pudiera notar bien la diferencia a 400 Hz, sería bastante sorprendente.
      Lo interesante del contenido renderizado es que esto puede llevarse más lejos. Por ejemplo, se puede jugar con conceptos que uno cree haber entendido, como un ángulo de obturación que supera la duración de un fotograma.
    • Una alternativa a la frecuencia de actualización infinita es mostrar cada fotograma solo durante una parte del tiempo normal de un fotograma. Es decir, mostrar cada fotograma individual rápidamente, como un destello, y dejar el resto en negro.
      Este método reduce el brillo máximo de la pantalla y requiere una tasa mínima de fotogramas para evitar el parpadeo, pero reduce el desenfoque por persistencia, que es un desenfoque por seguimiento ocular que no existe en la realidad. Para ser exactos, para eliminar por completo el desenfoque por seguimiento habría que mostrar cada fotograma durante un tiempo infinitamente corto, así que no es realista. Aun así, los visores de VR usan este método de destello/estroboscopio.
      Esta también es la razón por la que las pantallas CRT y de plasma tenían una claridad de movimiento mucho mejor que las LCD u OLED. Las primeras muestran cada fotograma con un destello breve, mientras que las segundas usan un método sample-and-hold, manteniendo el mismo fotograma durante todo el tiempo del cuadro. Por ejemplo, a 60 Hz se mantiene durante 1/60 de segundo. 60 FPS en un CRT puede verse incluso más fluido que 120 FPS en un OLED.
      En juegos, también existe la opción de agregar muchos fotogramas mediante técnicas de reproyección. Se puede aproximar el movimiento real de la cámara sin que el motor tenga que renderizar una gran cantidad de fotogramas costosos. Esto ya se usa también en VR, aunque todavía no hasta tasas de fotogramas muy altas. Este artículo cubre bien los detalles:
      https://blurbusters.com/frame-generation-essentials-interpol...
      Dicen que unos 1000 FPS mediante reproyección son bastante realistas, así que parece posible resolver el problema del desenfoque por seguimiento sin reducir el brillo de la pantalla.
    • Los objetos en movimiento pueden volverse más nítidos si cada fotograma se muestra en una posición fija durante menos tiempo. Es decir, reduciendo el MPRT para evitar que el fotograma mostrado se emborrone cuando el ojo sigue el movimiento.
      Esto se puede implementar mediante la salida de escaneo de CRT/OLED, normalmente en modo rolling, o mediante estroboscopía de la retroiluminación en LCD, por lo general a fotograma completo. Sin embargo, si a 24 Hz cada fotograma se muestra brevemente, aparece un parpadeo casi insoportable, por eso los proyectores de cine mostraban cada fotograma de película 2 o 3 veces. A 50 Hz apenas resulta tolerable, así que algunos televisores CRT europeos duplicaban fotogramas de video de 50 Hz a 100 Hz, lo que a veces hacía que los objetos en movimiento se vieran dobles. Para un movimiento óptimamente suave y mínima fatiga ocular, idealmente se necesitan 70–75 Hz o más, pero entonces resulta difícil mostrar video grabado a 60 FPS sin judder ni tearing.
    • Correcto. Mientras investigaba para escribir este artículo, leí un paper bastante bueno que explica lo que acabas de decir y propone una solución que predice los movimientos oculares del espectador: Temporal Video Filtering and Exposure Control for Perceptual Motion Blur (Stengel et al., 2015).
    • Con una frecuencia de actualización finita no se puede lograr que una imagen en movimiento sea realmente nítida. Con una frecuencia lo bastante alta uno puede acercarse, pero el objeto solo puede moverse en una trayectoria a saltos en el tiempo, por lo que no coincide con el movimiento de los ojos.
  • A diferencia de la expectativa de que esto haga que los medios visuales se sientan más realistas, en los juegos da la sensación de hacer que un videojuego se vea como una aproximación barata a una película excesivamente editada.
    Tiene sentido para movimientos muy rápidos, cosas que pasan muy cerca o, sobre todo, movimientos que no son desde tu propio punto de vista. Pero se abusa demasiado en situaciones como “el personaje gira rápido”.
    Cuando giras la cabeza o los ojos de golpe, no ves una imagen borrosa: ves la nueva imagen, y el cerebro descarta los datos intermedios. Puedes comprobarlo mirando un ojo en el espejo y luego cambiando el foco al otro. ¿Ves que tus ojos o tu cara se vuelvan borrosos?
    Si en un juego agregas blur al mover la vista, solo retrasas que se muestre el nuevo campo visual. Es distractor y poco realista.

    • Esta prueba no es la mejor. El cerebro censura brevemente la entrada mientras compensa los movimientos sacádicos de los ojos. También hay una estabilización de movimiento integrada que te permite leer señales en la calle mientras caminas.
      Una prueba mejor es agitar muy rápido un dedo o la mano mientras los miras. Verás motion blur cuando el dedo se mueva. En algunos casos, incluso se ven “frames” individuales como una imagen residual. Por ejemplo, si miras las luces traseras de autos modernos, los LED no están encendidos continuamente, sino que parpadean muy rápido con PWM. Por eso, si de noche mueves los ojos mirando esas luces traseras, no ves una imagen borrosa sino una sucesión de puntos. Una vez que aprendes este truco, puedes distinguir entre iluminación analógica y PWM según si se ve borroso o como puntos discontinuos.
    • Siento que el motion blur debería usarse como la aceleración del mouse. Como dijiste, si giras la cabeza rápido, la imagen debería aparecer nítida y de inmediato.
      Pero si estás dentro de un auto o volando por el aire en un juego, la imagen puede distorsionarse mientras das un vistazo. Lo esperable es un blur que se “estire” más cuanto más aceleras, y ese efecto puede hacer que las escenas rápidas sean mucho más interesantes. El problema es que el motion blur está pésimamente implementado casi en todas partes.
    • La razón por la que el motion blur es polémico en los juegos suele ser que su implementación es muy mala.
      Los tres pecados más grandes son desenfocar demasiado lejos los objetos, desenfocar cosas que no deberían desenfocarse y desenfocar toda la escena. El tercero en realidad termina reduciéndose al segundo, así que quizá en la práctica sean dos pecados. Lo más importante es que el motion blur debe ser sutil. Un motion blur bien hecho no vuelve borroso el juego, sino que lo hace verse más realista y fluido.
      Si un objeto se mueve 50 píxeles entre frames, el ancho del blur no debería superar los 50 píxeles. De hecho, para hacerlo más discreto, probablemente lo correcto sea algo como 25 píxeles. Pero por alguna razón, los juegos de carreras aplican un montón de blur radial a toda la escena cuando vas rápido, y personalmente creo que eso arruina la escena.
      Del mismo modo, los objetos que no se mueven con respecto a la cámara no deberían tener motion blur. Muchos juegos se equivocan en esto. Al girar, desenfocan la escena como posprocesado. Si la escena es completamente estática, tiene sentido, y además es una forma muy eficiente en costo de cómputo. Pero si estás girando para seguir un objeto, el objeto que estás siguiendo no debería verse borroso. En un juego de carreras, si el auto de al lado va a la misma velocidad que yo, ese auto no debería desenfocarse.
      La forma segura de conseguir un motion blur correcto es renderizar varios frames completos seguidos y mezclarlos, pero para que se vea bien se necesitan muchísimas muestras. Si no, cuando algo como una línea vertical cruza la pantalla volando, se ve como una sucesión de franjas verticales en lugar de un blur suave.
      Probablemente lo mejor sea un enfoque híbrido: renderizar por separado cada objeto de la escena y aplicar un blur de posprocesado por objeto según su dirección de movimiento relativa a la cámara. Aunque manejar el orden en Z puede convertirse en un gran desafío.
    • En los videojuegos, el motion blur ayuda a compensar una tasa de frames baja. En especial a 30 FPS es casi necesario, y a 60 FPS también está bien.
      En las pocas ocasiones en que pude jugar a 120 FPS, aunque lamentablemente el proyector estaba limitado a 60 Hz, preferí jugar sin motion blur.
    • En realidad no ves una nueva imagen, sino cierta cantidad de detalle, y el cerebro reescribe la historia de lo que vio para que parezca haber continuidad.
  • Hay un buen panorama general en [1].
    Curiosamente, hasta que en 2005 apareció el artículo clásico [2] sobre el modelado de la eficiencia del obturador, todos los renderers usados en producción de VFX utilizaban un obturador de caja. Es decir, el obturador se abría instantáneamente, permanecía abierto durante el tiempo especificado y luego se cerraba instantáneamente.
    Si ves escenas con motion blur extremo en películas como “Jurassic Park” o “The Mask”, eso es PhotoRealistic RenderMan usando un obturador de caja.
    La primera implementación 1:1 en producción de la parametrización de [2] se hizo el mismo año en que salió el artículo, en [3], y no ha cambiado hasta hoy. La primera obra en la que se usó fue “Charlotte's Web”, y solo se aplicó a los personajes de araña creados por Rising Sun Pictures usando [3].
    Pixar también lo agregó unos años después, aunque en [4] lo llevaron un poco demasiado lejos. Hoy en día, la mayoría de los renderers offline tienen esta función y la llaman curva de obturador.
    [1] O. Navarro et al.: Motion Blur Rendering: State of the Art (https://citeseerx.ist.psu.edu/doc_view/pid/fc23fb525cafa8fe6...)
    [2] Stephenson, Ian: Improving Motion Blur: Shutter Efficiency and Temporal Sampling (https://staffprofiles.bournemouth.ac.uk/display/journal-arti...)
    [3] https://www.3delight.com/, ver en especial https://nsi.readthedocs.io/en/latest/nodes.html
    [4] https://renderman.pixar.com/resources/RenderMan_20/cameramod...

  • Parece que la demo se calculó en espacio sRGB. Es decir, está usando valores de brillo no lineales, y creo que de ahí viene la mayor parte de lo antinatural del desenfoque
    Para simular un fenómeno físico, debería procesarse con valores de brillo lineales y convertirse a sRGB solo al final
    Podría ser distinto si los efectos no lineales de la percepción visual humana compensaran todo esto, pero en ese caso al menos habría que mencionarlo

    • Gracias por señalarlo. He hecho conversiones de espacio de color en otras aplicaciones gráficas, pero claramente parece que no aprendí bien la lección
      Voy a revisarlo de nuevo y, si es correcto, actualizaré las figuras interactivas y el texto. El shader principal de “torusphere” probablemente esté bien, porque el motion blur es poco realista y ajustado a mano, pero las primeras figuras interactivas aplican la teoría directamente, así que esta observación sí les aplica. Aun así, no creo que invalide la idea central del texto en general
    • Me di cuenta de que la gamma estaba totalmente mal. Si en las figuras no aparece un motion blur que se perciba suave, eso perjudica el propósito mismo del artículo. Podría haber quedado muchísimo mejor
    • Me sorprende que el autor haya pasado por alto algo tan importante como ignorar el espacio lineal. Pero incluso Adobe apenas está dando soporte al procesamiento lineal en 2024, así que tampoco es tan extraño
  • La demo del toro está increíble. Es interesante cómo una tasa de cuadros alta cambia la percepción del blur
    Uso una pantalla de 240 Hz, y en la figura 5 no veo los círculos separados hasta alrededor de 12 rad/s. Incluso a 40 rad/s, mientras se mueve, no alcanzo a notar la diferencia entre las opciones de obturador tradicional y obturador sinusoidal
    Solo por la suavidad del movimiento del mouse y la baja latencia, recomiendo muchísimo 240 Hz. Volver a un puntero de mouse de 60 Hz es realmente, realmente difícil

    • He usado tanto una pantalla 4K de 24 pulgadas —de esas de “si usas Retina ya no puedes volver”— como una pantalla de 144 Hz, pero no me dan ganas de actualizar mi entorno principal: tres pantallas viejas de 24 pulgadas, 1920x1200 y 60 Hz
      A algunas personas de verdad no les importa. Tampoco entiendo mucho esas discusiones tipo guerra santa sobre latencia de entrada o emuladores de terminal. No siento la diferencia entre trabajar en una consola framebuffer y trabajar por ssh con 50 ms adicionales
      Puedo notar la diferencia entre juegos a 30 FPS y 60 FPS, pero solo cuando me fijo. Mientras sea estable y no esté subiendo y bajando entre ambos valores, no me importa demasiado
    • En mi caso, estoy de acuerdo en que un cursor a 144 Hz se siente fluido. Aun así, no tengo ningún problema en volver a un cursor de 60 FPS
      Pero sí me pregunto si las interfaces con transiciones más suaves dan una mayor sensación de estabilidad, y si las tasas de refresco altas podrían afectar el estado mental con el tiempo
  • Si el toro y la esfera del fondo están hechos con motion blur, ¿no deberían ser parcialmente transparentes? Se siente raro, como si en algún momento volvieran a ser opacos

    • Sí. El concepto de torusphere es físicamente imposible. Todo es un bucle, así que el objeto ni siquiera tiene una existencia teórica, y está compuesto por completo de motion blur engrosado artificialmente
      Por eso el título es motion blur all the way down
    • Claramente está haciendo blending entre la esfera y el toro, y luego otra vez entre el toro y la esfera. De lo contrario, se iría volviendo cada vez más tenue con el tiempo
    • ¿La luz es discreta o continua?
    • No creo que un objeto que se mueve o salta infinitamente rápido pueda volverse transparente. Porque inevitablemente bloquearía todos los rayos de luz que crucen su trayectoria
      Sin embargo, la luz emitida por un objeto en movimiento debería ser menor que la de un objeto inmóvil. Por eso, a medida que aumenta la distancia, el objeto debería volverse cada vez más oscuro
  • Esto se aleja de intentar simular una cámara de película y apunta a simular el sistema visual humano. Es una dirección útil
    Es dejar de imitar tecnología vieja y acercarse un paso más a la realidad. El motion blur por obturador también podría desaparecer, igual que las impresiones en tono sepia, las películas en blanco y negro a 16 FPS o las ruedas ovaladas causadas por obturadores mecánicos

    • Avísenme cuando exista tecnología capaz de renderizar en una pantalla de TV la potencia real del sol
      Reproducir la realidad no es el objetivo. Porque no se puede lograr
  • Parece que este artículo también llegó porque ambient.garden acaba de aparecer en la portada. Al releerlo, siento que en realidad deberían haber sido dos artículos
    La primera parte todavía me gusta. Explora bien qué es el motion blur y qué debería ser en teoría. La segunda parte es una explicación algo frenética y ultra comprimida de cómo funciona el shader para una animación específica de “torusphere” basada en motion blur. Esa parte me resulta útil sobre todo porque, al menos para mí, evita que el código se vuelva completamente incomprensible en este momento. Viéndolo en retrospectiva, la transición entre ambas partes se siente más como lanzarse a un lago congelado. Perdón

    • Mientras leía, sentí que explicaba limpiamente el motion blur como una función del intervalo de exposición llamado ángulo de obturación, y luego de pronto saltaba al territorio delirante de un caso especial muy extraño
      Me alegra saber que no era solo por la copa de vino que acababa de tomar
      He jugado algunas veces con el motion blur como función de proyección de una extrusión de cuatro dimensiones, pero en el contexto real —video y texturas— termina siendo poco práctico frente al muestreo por hardware con caché. Aun así, este artículo me hace pensar: “¿y si lo intento una vez más?”
  • La demo de comparación en tiempo real es tremenda. Hasta ese punto, mientras iba siguiendo el texto, sentía mentalmente que lo “entendía”, pero cuando pude alternar directamente motion blur activado/desactivado, la diferencia se volvió realmente evidente

  • Después de ver motion blur all the way down, por alguna razón terminé pensando en la teoría de cuerdas, los átomos y cómo se formó el universo

    • Es una metáfora interesante. Las capas electrónicas a veces se describen como nubes de densidad de probabilidad. El sombreado representa la probabilidad de encontrar un electrón en ese punto si se detuviera el tiempo
      Claro que, mientras más profundo vas, todo se vuelve cada vez más extraño