¿Cómo puedo hacer que los bordes de una caja fueran suaves sin anti-aliasing?
Pregunta
Estoy creando un juego de dados para el iPhone. Estoy usando SIO2 como motor, pero creo que esta pregunta está más general relacionada con OpenGL.
Dado que el iPhone carece de soporte para la anti-aliasing, mis dados se ve un poco vanguardista. Si es posible, me gustaría hacer que los bordes de la matriz redondeados y suaves en lugar de agudos. Encontré una aplicación, Motionx, que logra hacer esto, y creo que sin usar anti-aliasing. Ver captura de pantalla aquí. Si miras de cerca los bordes de dados, ves que hay una transición flotante de la cara superior brillantemente iluminada a la cara lateral sombreada. Esto parece una ronda desde muy lejos.
¿Alguien sabe cómo recrear tal efecto?
Solución
Si miras de cerca los bordes de dados, ves que hay una transición flotante de la cara superior brillantemente iluminada a la cara lateral sombreada
No estoy seguro si el iPhone admite esto, pero puede lograr este efecto con un mapa normal:
http://en.wikipedia.org/wiki/normal_mapping
Por supuesto, necesitará truncar las esquinas para que las haga lo suficientemente redondas lo suficientemente redondas como para que el mapa normal lo haga el resto del camino.
Otros consejos
Debe crear los dados con bordes y esquinas ligeramente redondeados. De esa manera, no habrá una transición aguda entre cada cara.
Si su paquete de modelado puede crearlos, puede usar Superquadrics Para crear este tipo de modelo. Puede cambiar los parámetros de la ecuación para producir el efecto.
Ver la figura superior izquierda encendida esta imagen
(fuente: gratis-online.co.uk)