|
|
"Norbert Kern" <nor### [at] t-onlinede> wrote:
> Hello,
>
> here is my attempt, using a layered texture and an imagefile for the scratches
> (similar to what Thomas posted here -
>
http://news.povray.org/povray.advanced-users/message/%3C5c4970bb%40news.povray.org%3E/#%3C5c4970bb%40news.povray.org%
3E
> ).
>
>
> material {
> texture {
> pigment {color srgb <0.9284,0.9016,0.8678>}
> normal {
> average
> normal_map {
> [1 bump_map {png "scratches"}
> bump_size -1
> ]
> [1 bump_map {png "scratches"}
> bump_size -1
> rotate x*90
> ]
> [1 bump_map {png "scratches"}
> bump_size -1
> rotate z*90
> ]
> }
> accuracy 0.003
> }
> finish {
> ambient 0
> diffuse 0.1
> specular 1
> roughness 0.0003
> phong 0.5
> phong_size 10
> brilliance 3
> reflection {0.6, 1 fresnel on metallic}
> conserve_energy
> }
> }
> texture {
> pigment {color srgbf <0.96,0.965,0.975,0.99/0.8>*0.8}
> finish {
> ambient 0
> diffuse 0.05
> reflection {0, 1 fresnel on}
> conserve_energy
> specular albedo 0.5
> roughness 0.001
> brilliance 7
> }
> }
> interior {ior 3.64}
> scale 1
> Reorient_Trans (z, 1)
> }
>
> Norbert
I like that, fine scratches or scuffed. Great how it follows the curvatures and
reflected light.
Any criticism I can think of would be that some lines appear to radiate outward
from the lit areas, showing up as bright as the other, non-radial lines. Which
is what was mentioned before about the original idea, so I wonder how that
directional condition could be achieved? Seems like a polarization effect needed
to do that anyhow.
Post a reply to this message
|
|
|
|
On 26-1-2019 21:00, Bald Eagle wrote:
> "omniverse" <omn### [at] charternet> wrote:
>> "Norbert Kern" <nor### [at] t-onlinede> wrote:
>>> Hello,
>>>
>>> here is my attempt, using a layered texture and an imagefile for the scratches
>
> .....
>
>>> Norbert
>
> Holy crap. :O
I agree. The important thing is to use a bump_map of some quality.
>
>
>
>> I like that, fine scratches or scuffed. Great how it follows the curvatures and
>> reflected light.
>
>
> I think that's an important part of the effect - the halo of concentric
> scratches.
See image attached. Playing with different bump_maps and strength of the
bump_size.
>
>
>> Any criticism I can think of would be that some lines appear to radiate outward
>> from the lit areas, showing up as bright as the other, non-radial lines. Which
>> is what was mentioned before about the original idea, so I wonder how that
>> directional condition could be achieved? Seems like a polarization effect needed
>> to do that anyhow.
Maybe, that comes from the fact that the scratches are not very linear,
more "curvy" as it were. I noticed that also with different bump_maps.
The more linear the scratches are, the more the effect is visible.
>
>
>
> Yeah - I'm also still very curious as to what gives rise to that selective
> effect IRL. I'd be tempted to predict that only a series of oriented lines
> would reflect strongly - not a circular pattern. I mean, it's not like
> completely random scratches adopt a circular pattern - so it must necessarily be
> a purely optical effect.
>
It /is/ an optical effect of course, based imho on the strength of
incident light reflecting from the scratch surfaces. The closer the
incident light angle is to 90 degrees with regard to (part of) the
scratch surface, the stronger the scratch reflects. Inversely, the
scratch will hardly or not light up when the incident light angle is
very low. The cumulation of strongly reflecting scratches will dominate
the view in the end, giving rise to the optical illusion.
--
Thomas
Post a reply to this message
Attachments:
Download 'circular scratches_test.png' (427 KB)
Preview of image 'circular scratches_test.png'
|
|
|
|
Thomas de Groot <tho### [at] degrootorg> wrote:
> I agree. The important thing is to use a bump_map of some quality.
I found a povray file to get the bump_map. Perhaps somebody knows the origin. My
only contribution is an aoi texture as default.
//------------------------
/* scratches2 */
// +fn16 Output_File_Name=d:\images\ +w4096 +h4096
#version 3.7;
global_settings {
#declare a_g = 2.2;
assumed_gamma a_g
max_trace_level 16
noise_generator 3
}
camera {
orthographic
location -5*z
look_at 0
right 40*x
up 40*y
}
/*#default {
texture {
pigment {
bozo
scale 0.2
color_map {
[0 rgb 0.5]
[1 rgb 1]
}
}
finish {ambient 1}
}
}*/
#default {
texture {
pigment {
aoi
color_map {
[0 srgb 1]
[0.5 srgb 0]
[1 srgb 1]
}
}
finish {ambient 1}
}
}
#include "transforms.inc"
#declare I = seed (1);
#declare ang = 0;
#while (ang < 360)
#declare num = 20+20*rand (I);
#declare i = 0;
#while (i < num)
#declare px = no;
#declare nx = no;
#declare r = 0.01+0.035*rand (I);
#declare s = 2+10*rand (I);
#declare _x = -20+40*rand (I);
#declare _y = -20+40*rand (I);
sphere {
0, 1
scale <r,0.5,r>
scale <1,s,1>
rotate ang*z
translate <_x,_y,0>
}
#if (vtransform (0.5*y, transform {scale <1,s,1> rotate ang*z
translate _x*x}).x > 40 | vtransform (-0.5*y, transform {scale <1,s,1> rotate
ang*z translate _x*x}).x > 40)
#declare px = yes;
sphere {
0, 1
scale <r,0.5,r>
scale <1,s,1>
rotate ang*z
translate <_x-40,_y,0>
}
#else
#if (vtransform (0.5*y, transform {scale <1,s,1> rotate
ang*z translate _x*x}).x < 40 | vtransform (-0.5*y, transform {scale <1,s,1>
rotate ang*z translate _x*x}).x < 40)
#declare nx = yes;
sphere {
0, 1
scale <r,0.5,r>
scale <1,s,1>
rotate ang*z
translate <_x+40,_y,0>
}
#end
#end
#if (vtransform (0.5*y, transform {scale <1,s,1> rotate ang*z
translate _y*y}).y > 40 | vtransform (-0.5*y, transform {scale <1,s,1> rotate
ang*z translate _y*y}).y > 40)
sphere {
0, 1
scale <r,0.5,r>
scale <1,s,1>
rotate ang*z
translate <_x,_y-40,0>
}
#if (px)
sphere {
0, 1
scale <r,0.5,r>
scale <1,s,1>
rotate ang*z
translate <_x-40,_y-40,0>
}
#else
#if (nx)
sphere {
0, 1
scale <r,0.5,r>
scale <1,s,1>
rotate ang*z
translate <_x+40,_y-40,0>
}
#end
#end
#else
#if (vtransform (0.5*y, transform {scale <1,s,1> rotate
ang*z translate _y*y}).y < 40 | vtransform (-0.5*y, transform {scale <1,s,1>
rotate ang*z translate _y*y}).y < 40)
sphere {
0, 1
scale <r,0.5,r>
scale <1,s,1>
rotate ang*z
translate <_x,_y+40,0>
}
#if (px)
sphere {
0, 1
scale <r,0.5,r>
scale <1,s,1>
rotate ang*z
translate <_x-40,_y+40,0>
}
#else
#if (nx)
sphere {
0, 1
scale <r,0.5,r>
scale <1,s,1>
rotate ang*z
translate
<_x+40,_y+40,0>
}
#end
#end
#end
#end
#declare i = i+1;
#end
#declare ang = ang+20;
#end
//--------------
Norbert
Post a reply to this message
|
|