Texturizado detallado
El mapeo de detalles es una técnica de software en gráficos 3D por computadora que mejora el detalle de la textura a una distancia cercana de la cámara. El resultado final crea la ilusión de usar una textura de gran resolución.
Cuando la cámara se acerca a un modelo poligonal, la textura se vuelve borrosa. Si hay suficiente memoria libre, se puede eliminar la borrosidad aumentando la resolución de la textura. Sin embargo, almacenar cada textura a una gran resolución no es una solución práctica. El texturizado detallado resuelve el problema de una manera diferente:
- La textura base se deja en una resolución media razonable
- Se crea una textura detallada con una imagen a gran escala de pequeños detalles (hojas de hierba individuales, guijarros, estructura de madera, etc.)
- La textura resultante se decolora.
- El filtro de paso alto elimina todo menos los detalles más finos.
- El filtro de corrección de histograma establece el brillo promedio en 0.5
- Ambas texturas se mezclan en el pixel shader.
- Antes de mezclar, las coordenadas de textura de la textura detallada se escalan para que la textura detallada se repita varias veces más que la textura base.
- Para reducir la visibilidad de las repeticiones de una textura detallada, la escala se elige no entera
- El color de la textura base se multiplica por el color de la textura detallada, se multiplica por 2 (para conservar el brillo original)
Ejemplo de código fuente de shader
const float detalleRepetir = 7.5 ;
float4 color = tex2D ( TextureSampler , input . uv );
float4 detalle = tex2D ( DetailSampler , input . uv * detailRepeat );
color _ rgb *= detalle * 2 ;
Véase también
Enlaces