POVRAY en Castellano

Un sitio de intercambio sobre POVRAY

Hola a todos:

Estoy recién llegado a Povray e intentando poner en un suelo tres texturas de madera:
diffuse, bump, specular.

Con las dos primeras no tengo problema:

pigment{ image_map{ jpeg "suelo.jpg" interpolate 2}}
normal { bump_map{ jpeg "suelo_bump.jpg" bump_size 0.8}}
finish { diffuse 0.8 specular 0.5 ambient 0.100000 roughness 1/50 }

Pero no se poner la textura especular para que el brillo no sea uniforme,
es decir, en escala de grises las zonas más obscuras brillen menos o nada.

He buscado por la documentación y no he encontrado o sabido encontrar nada
al respecto.

¿Tiene esta función Povray? ¿cómo hacerlo?

Gracias y un saludo a todos.

Tony

Compartir

Responde a esto

Respuestas a esta discusión

Tengo dos posibles respuestas, o bien no estas utilizando de forma correcta el parámetro diffuse (que en este caso devuelve el 80% de la luz recibida) o deberías estar usando fade_distance y fade_power en la declaración de la fuente de luz para que la escena se oscurezca al alejarse de la fuente de luz.

Nota: lo que estas tratando de poner son acabados en la textura de madera, y no texturas en si mismas.

Un saludo.

Responde a esto

Me temo que POVRay no dispone de la función para mapear el parametro specular. Habrás comprobado en la documentación que ninguno de los parámetros de finish puede mapearse, tan sólo asignar un valor. Realmente esto es una limitación importante. La verdad es que si hay alguna forma de conseguir algo similar, lo desconozco. Lo único que se me ocurre es utilizar varias capas de textura, pero no se a ciencia cierta que funcionaría. Lo probaré.

Saludos

Responde a esto

Gracias B. Jimeno y Francisco J. Cruz.

Salvando la barrera del idioma (ingles) y con ayuda del traductor google pregunté en el foro oficial de povray.
Me dieron la siguiente respuesta:

#declare texture1 =
texture {
pigment { image_map{ jpeg "suelo.jpg" interpolate 2}}
normal { bump_map{ jpeg "suelo_bump.jpg" bump_size 0.8}}
finish { diffuse 0.8 specular 0.5 ambient 0.100000 roughness 1/50 }
}

#declare texture2 =
texture {
pigment { image_map{ jpeg "suelo.jpg" interpolate 2}}
normal { bump_map{ jpeg "suelo_bump.jpg" bump_size 0.8}}
finish { diffuse 0.8 specular 0.0 ambient 0.100000 roughness 1/50 }
}

texture {
image_pattern {
jpeg "suelo_specular.jpg" interpolate 2
}
texture_map {
[ 0 texture1 ]
[ 1 texture2 ]
}
}

Es decir, mezclar dos texturas con diferente valor especular tamizadas por image_pattern (mapa especular).

Lo he realizado y aquí está el ejemplo
Archivos adjuntos:

Responde a esto

Efectivamente, después de pensar un poco la única solución factible es mezclar texturas completas. Si a una textura se le quiere poner un mapa a cualquier parámetro de finish hay que mezclar dos texturas.

El problema que queda sin solución (de momento) es que varios parámetros de finish necesiten distintos mapas.

Bueno, te dejo una imagen con el resultado obtenido con este código:

#declare Jade1 = texture { Jade finish { specular 0.0 } scale 10 }
#declare Jade2 = texture { Jade finish { specular 1.0 } scale 10 }

sphere { 0, 1
texture {
bozo
texture_map {
[ 0 Jade1 ]
[ 1 Jade2 ]
}
scale 0.1
}
}

Responde a esto

Un buen trabajo. Me trae a la cabeza este suelo de gres que ví esta misma semana en una oficina. Observese el horroroso efecto conseguido con una burda imitación que no consigue su cometido. Gres tratando de imitar al parquet! Cuanta maldad reunida en tan horroroso diseño.
Archivos adjuntos:

Responde a esto

RSS

Sobre

Mario Antonio Herrero Machado Mario Antonio Herrero Machado creó esta red social en Ning.

Insignia

Cargando…

Tu caja de dialogo en POVRAY en Castellano

© 2009   creado por Mario Antonio Herrero Machado en Ning.   Crear tu propia red social

Insignias  |  Informar un problema  |  Privacidad  |  Términos de servicio

Iniciar sesión para hablar