Estoy tratando de entender por qué las mallas que se suavizan en el estudio 3D (Modificadores / Suavizador) terminan teniendo la misma cantidad de vértices / caras antes o después de ese proceso, así como exactamente la misma geometría.
En el siguiente ejemplo, ambas mallas tienen 32 vértices y 60 caras.
Aunque tengo experiencia trabajando con programación (c ++ y c #), soy bastante principiante con gráficos por computadora. Por lo tanto, mi expectativa era que el aspecto suavizado de una malla suavizada requeriría vértices adicionales, es decir, subdivisión de triángulos, para terminar teniendo una malla final más detallada. Sin embargo, ese no parece ser el caso.
Por eso pregunto:
1) ¿cómo es posible el alisado sin aumentar los detalles de la geometría de la malla?
2) ¿el suavizado al menos aumenta la memoria asignada / utilizada para almacenar la nueva malla en comparación con la original?
Las explicaciones son súper bienvenidas, pero también se agradecen las referencias (académicas o no).
Respuestas:
La suavidad en este caso solo hace que las superficies normales en los vértices apunten de la misma manera, cuando se interpola se ve suave. Meshsmooth agregaría vértices.
1) ¿cómo es posible el alisado sin aumentar los detalles de la geometría de la malla?
Los ojos humanos no pueden ver realmente la curvatura, excepto en los bordes de los objetos. Todo lo que pueden hacer es aproximar la suavidad y procesar la pendiente del gradiente. Por lo tanto, tener un campo continuo da un aire de suavidad. Sin embargo, el ojo es extremadamente sensible a los cambios bruscos de color, y lo interpreta como un pliegue duro.
Al interpolar las normales del vértice, su superficie tendrá la apariencia de un flujo suave. Como esta normalidad se usa para calcular el color reflejado final, obtienes un campo de color uniforme.
Imagen 1 : una normal sombreada plana frente a las normales de una interplantación suave. La normalidad negra se encuentra en un vértice. Los de color están interpolados.
No hay nada que diga que necesitamos hacer una interpolación lineal. De hecho, al perturbar las normales podemos hacer que la superficie plana cambie de apariencia. Así es como funciona el mapeo de relieve y el mapeo normal. El efecto puede ser convincente a menos que el borde de la superficie juegue un papel demasiado grande en el lugar donde se rompe la ilusión.
Imagen 2 : una superficie plana sombreada (parte posterior), Suavemente sombreada (en el medio) y un mapa liso normalizado. La ilusión de una superficie ondulada se rompe porque el borde juega un papel tan destacado en la imagen que, en cambio, podría aumentar las normales.
2) ¿el suavizado al menos aumenta la memoria asignada
Es difícil decir cosas definitivas sobre el motor gráfico subyacente. Las normales deben emitirse a la tarjeta gráfica de todos modos, lo más probable es que estos datos se almacenen en caché, pero podrían calcularse sobre la marcha (en ambos casos).
Como Max usa grupos de suavizado, me parece que el uso de memoria es constante independientemente. Es difícil de decir, incluso si no está en caché, entonces no haría una gran diferencia. Hace que el sombreador pequeño sea un poco más complicado, pero lo más probable es que esta complejidad esté presente, úselo o no.
fuente