Interpolando gravedad!

 Este es un sistema que hice a modo de investigación y para adquirir nuevos conocimientos!

Es un "signed distance field interpolation system", Es básicamente un sistema que usa "campos de distancia signada" para poder interpolar (mezclar) entre distintos atributos (ya sean colores, sonidos, vectores, etc) a los cuales se les asigna un punto definido en el espacio.

Esta técnica se usa por ejemplo para representar la confluencia de distintas fuentes de luz en una escena 2D o 3D


En mi caso, la usé para crear una escena 3D en la cuál no hay un solo vector de gravedad, sino que este varía dependiendo de la posición en la que nos encontremos.


Adicionalmente a esto, luego decidí llevar esta técnica un paso más lejos e implementarla usando "Compute shaders" haciendo que pueda correr en la GPU y multiplicando su rendimiento por varios órdenes de magnitud!



El sistema interpola entre 40 vectores-direccion de gravedad para 2048 distintos cuerpos!
Y lo hace alcanzando los 90 frames por segundo! Alucinante!


No hay comentarios

No hay comentarios :

Publicar un comentario