POV-Ray : Newsgroups : povray.general : Procedural default human skin normal & finish in English? Server Time
6 Aug 2024 16:58:06 EDT (-0400)
  Procedural default human skin normal & finish in English? (Message 1 to 8 of 8)  
From: Greg M  Johnson
Subject: Procedural default human skin normal & finish in English?
Date: 27 Feb 2002 21:47:52
Message: <3c7d9a58@news.povray.org>
Is anyone able to get me started with basic ideas (actual code) for
human skin, human hair?  I'm most interested in skin finish & normal;
hair finish.    Actual code in English, please...


Post a reply to this message

From: Anto Matkovic
Subject: Re: Procedural default human skin normal & finish in English?
Date: 28 Feb 2002 14:50:27
Message: <3c7e8a03@news.povray.org>
I think the best thing for start is skin shader by Matt Pharr, which
implements skin subsurface shading model;
it works with POVMan, both are downloadable in English from
http://tofbouf.free.fr/clothray/download_en.html
One of my messy workarounds with it looks like this:

#declare skin_pigment = color rgb < 0.99, 0.97,  0.92 >;
#declare skin_as = color rgb 1;
#declare skin_amb = (< 0.8, 0.44,  0.4>*0.6 );
#declare skin_mat = material {
    texture {
        pigment

            shader {
                shader_file "skin.slp"
                "As"  skin_as*1
                "skinColor"  skin_pigment
            }
        }
        finish

            ambient skin_amb
            diffuse 0.6
            specular 0.1 roughness 0.5
phong 0.1 phong_size 7
metallic 1}
normal {granite 0.07 scale 0.5}}}

I have a long history with this question, and have to say that is very hard
to say an unique formula. Probably main thing is varying of color of skin:
from yellow in highlights to red in shade, which is hard to do with POV. POV
doesn't support specular colour (highlight colour...)independent of the
light color.
In workaround above, different pigment and ambient color, plus metallic
finish, are tryings to simulate just this, specular color. Price is horribly
red look with radiosity, because of wild ambient color...

Hair: this depend of kind of object which hold it. Some good results can be
done with 'aniso' shader, coming also with POVMan examples.

BTW, how POV 3.5 stay with materials (textures, shaders, finishes, whatever
you like) with
'inverse-anisotropic-or unusually at all-highlights', like a velvet, human
skin, hair?

Anto
ant### [at] matkoviccom
http://matkovic.com/anto



"Greg M. Johnson" <"gregj;-)56590\""@aol.c;-)om> wrote in message
news:3c7d9a58@news.povray.org...
> Is anyone able to get me started with basic ideas (actual code) for
> human skin, human hair?  I'm most interested in skin finish & normal;
> hair finish.    Actual code in English, please...
>


Post a reply to this message

From: Greg M  Johnson
Subject: Re: Procedural default human skin normal & finish in English?
Date: 28 Feb 2002 15:03:59
Message: <3c7e8d2f$1@news.povray.org>
Wow thanks!  I actually found an example of yours on the net somewhere, but
it looked like an include with too many variables left undefined in the
snippet of code i ran across.

I am a texture newbie.  Your example with the skin finish is great.

Can you give me just a general idea for hair finish?  My first impulse is to
say finish{phong 1} with absolutely everything I do.


Post a reply to this message

From: Anto Matkovic
Subject: Re: Procedural default human skin normal & finish in English?
Date: 28 Feb 2002 17:30:57
Message: <3c7eafa1@news.povray.org>
Well, thanks for thanks...
General idea for hair finish, esspecially for blonde or red or brunnete is
again this, metallic 1,
or avoiding white highlights.
Next is playing with Greg Ward Larson anisotropic snader, producing
something like a burning red hair (this one also needs POVMan):
#declare hair_tex_aniso =
texture{

ent{  
     shader{
       shader_file "aniso.slp"
      "xroughness" 0.1
      "yroughness" 0.7
       "brush_direction" <0,0.5,0>
       "Kd" 1 
       "Ka" 1  
       "Ks" 1.4
       "Cs" hair_color
}}
finish{ambient 0.2 diffuse 0.32}
normal {bozo 0.2 scale hair_scale}
}

#declare hair_tex_standard =
texture{
    pigment{
      hair_color}
finish{ambient 0.2 diffuse 0.6 specular 0.4 roughness 1/100 metallic 1}

}
#declare hair_texture = texture { bozo scale hair_scale
texture_map {[0 hair_tex_aniso]
                    [0.3 hair_tex_aniso]
                    [0.6 hair_tex_standard]
                    [1 hair_tex_standard]}warp { reset_children}}
 

"Greg M. Johnson" <gregj:-)565### [at] aolcom> wrote in message
news:3c7e8d2f$1@news.povray.org...
> Wow thanks!  I actually found an example of yours on the net somewhere, but
> it looked like an include with too many variables left undefined in the
> snippet of code i ran across.
> 
> I am a texture newbie.  Your example with the skin finish is great.
> 
> Can you give me just a general idea for hair finish?  My first impulse is to
> say finish{phong 1} with absolutely everything I do.
> 
>


Post a reply to this message

From: Anto Matkovic
Subject: Re: Procedural default human skin normal & finish in English?
Date: 28 Feb 2002 17:33:00
Message: <3c7eb01c@news.povray.org>
Ooops, correct is:
#declare hair_tex_aniso =

  texture{

ent{  
     shader{
       shader_file "aniso.slp"
      "xroughness" 0.1
      "yroughness" 0.7
       "brush_direction" <0,0.5,0>
       "Kd" 1 
       "Ka" 1  
       "Ks" 1.4
       "Cs" hair_color
}}
finish{ambient 0.2 diffuse 0.32}
normal {bozo 0.2 scale hair_scale}
}

#declare hair_tex_standard =
texture{
    pigment{
      hair_color}
finish{ambient 0.2 diffuse 0.6 specular 0.4 roughness 1/100 metallic 1}

}
#declare hair_texture = texture { bozo scale hair_scale
texture_map {[0 hair_tex_aniso]
             [0.3 hair_tex_aniso]
             [0.6 hair_tex_standard]
             [1 hair_tex_standard]}warp { reset_children}}


Post a reply to this message

From: Anto Matkovic
Subject: Re: Procedural default human skin normal & finish in English?
Date: 28 Feb 2002 17:37:00
Message: <3c7eb10c@news.povray.org>
Sorry, I again
Instead "ent", correct is "pigment".
This is the last my message today.
Anto
"Anto Matkovic" <ant### [at] matkoviccom> wrote in message
news:3c7eb01c@news.povray.org...
> Ooops, correct is:
> #declare hair_tex_aniso =
>
>   texture{
>
>

>      shader{
>        shader_file "aniso.slp"
>       "xroughness" 0.1
>       "yroughness" 0.7
>        "brush_direction" <0,0.5,0>
>        "Kd" 1
>        "Ka" 1
>        "Ks" 1.4
>        "Cs" hair_color
> }}
> finish{ambient 0.2 diffuse 0.32}
> normal {bozo 0.2 scale hair_scale}
> }
>
> #declare hair_tex_standard =
> texture{
>     pigment{
>       hair_color}
> finish{ambient 0.2 diffuse 0.6 specular 0.4 roughness 1/100 metallic 1}
>
> }
> #declare hair_texture = texture { bozo scale hair_scale
> texture_map {[0 hair_tex_aniso]
>              [0.3 hair_tex_aniso]
>              [0.6 hair_tex_standard]
>              [1 hair_tex_standard]}warp { reset_children}}
>
>
>


Post a reply to this message

From: Greg M  Johnson
Subject: Re: Procedural default human skin normal & finish in English?
Date: 1 Mar 2002 11:33:17
Message: <3c7fad4d@news.povray.org>
I'm skipping on POV-Man, but the ideas you gave me offer a marked
improvement.

Interestingly, as I study an 800 x 600, I note that it looks just like "real
human skin with makeup on it."

You wouldn't be rendering images of pretty women would you???


Post a reply to this message

From: Anto Matkovic
Subject: Re: Procedural default human skin normal & finish in English?
Date: 1 Mar 2002 17:06:35
Message: <3c7ffb6b@news.povray.org>
this one (makeup) was:

#declare makeup_color = rgb <0.6, 0.3, 0.1>;

#declare skin_makeup =
        texture {pigment { shader {shader_file "skin.slp"
                              "As"  1
                              "skinColor"  makeup_color}}
finish {ambient c01*0.05+0.2 diffuse 0.6
specular 0.7 roughness 1/20 brilliance 4
metallic 0.5
}}

How you will place it, this depends of kind of object:
In one render I used twice patterned texture_map:
gradient, with one strip through the eyes, which contains scaled leopard
In second, I used UV mapping from imported objects, on mesh 2,; this is
much easier.
In third, I used UV mapping from imported objects, on bezier patches; this
needs applying a texture to every single patch.
-in case of blobs, you only need to apply a texture to single blobs.

Anto
ant### [at] matkoviccom
http://matkovic.com/anto
"Greg M. Johnson" <"gregj;-)56590\""@aol.c;-)om> wrote in message
news:3c7fad4d@news.povray.org...
> I'm skipping on POV-Man, but the ideas you gave me offer a marked
> improvement.
>
> Interestingly, as I study an 800 x 600, I note that it looks just like
"real
> human skin with makeup on it."
>
> You wouldn't be rendering images of pretty women would you???
>
>


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.