Textures: perturbations in x,y,z normals

Hi all,

   I want to experiment with the texture of the materials by modifying the
x, y and/or z normals of the surfaces in order to see how the reflected
light changes in its characteristics. However, when I modify the
normals, using texfunc as the following example, apparently, just the
main normal is modified.

   void texfunc id
   3 Px*A1 Py*A2 PZ*A3
   0
   3 A1 A2 A3

   Does anyone have any suggestions on how I can make a "grid of normals"
in order to modify the normals of smaller regions of the surface? and
how can I change the scale of that "grid"?
Thanks in advance,

Adriana Lira
Master in Design Studies, 2003
Candidate for Doctor in Design Studies
Harvard Graduate School of Design

void texfunc id1
   3 Px*A1 Py*A2 PZ*A3
   0
   3 A1 A2 A3

id1 texfunc id2

5 Px*A1 Py*A2 PZ*A3 -s .1
   0
   3 A1 A2 A3

Just mix two textures. The second texture is ten times smaller and superimposed on the first one, I believe - let me know if it does not work

Martin Moeck

···

________________________________

From: [email protected] on behalf of [email protected]
Sent: Mon 4/24/2006 3:17 PM
To: [email protected]
Subject: [Radiance-general] Textures: perturbations in x,y,z normals

Hi all,

   I want to experiment with the texture of the materials by modifying the
x, y and/or z normals of the surfaces in order to see how the reflected
light changes in its characteristics. However, when I modify the
normals, using texfunc as the following example, apparently, just the
main normal is modified.

   void texfunc id
   3 Px*A1 Py*A2 PZ*A3
   0
   3 A1 A2 A3

   Does anyone have any suggestions on how I can make a "grid of normals"
in order to modify the normals of smaller regions of the surface? and
how can I change the scale of that "grid"?
Thanks in advance,

Adriana Lira
Master in Design Studies, 2003
Candidate for Doctor in Design Studies
Harvard Graduate School of Design

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Hi Adriana,

What do you want your surface to look like? What do you want your normals to do?

The string arguments of the "texfunc" primitive define expressions for a "perturbation" of the surface normal, i.e., a value to be added to the default surface normal. In your example, depending on the values of A1, A2, and A3 (and assuming "PZ" should have been "Pz"), you would get a surface normal that would change gradually according to the position in 3-dimensional space, forcing whatever object was covered to have a surface normal resembling that of a sphere the larger the object became. This seems a very strange goal to me.

-Greg

···

From: [email protected]
Date: April 24, 2006 12:17:50 PM PDT

Hi all,

   I want to experiment with the texture of the materials by modifying the
x, y and/or z normals of the surfaces in order to see how the reflected
light changes in its characteristics. However, when I modify the
normals, using texfunc as the following example, apparently, just the
main normal is modified.

   void texfunc id
   3 Px*A1 Py*A2 PZ*A3
   0
   3 A1 A2 A3

   Does anyone have any suggestions on how I can make a "grid of normals"
in order to modify the normals of smaller regions of the surface? and
how can I change the scale of that "grid"?
Thanks in advance,

Adriana Lira
Master in Design Studies, 2003
Candidate for Doctor in Design Studies
Harvard Graduate School of Design

Hi Greg,

In effect, what I get is the resemblance of a shpere the larger the
object. For this reason, I feel that I'm using "texfunc" in an improper
way for what I need. My objective is to modify the x, y and/or z normals
of a surface in order to analize how much R, G and/or B is being
absorbed/reflected. I know that depending on the texture of a surface, for
example, shortwavelenghs of the spectrum are more reflected than the short
waves of the spectrum. What I need is to create a "bumpy" surface in order
to see how much blue is reflected depending on the scale of this
"bumpiness" ( from very small scale-microscale, if possible, to
macroscale) and by having control of the perturbation of the x, y and z
normals. Is there a logic way in how to do this?

Adriana

Hi Adriana,

What do you want your surface to look like? What do you want your
normals to do?

The string arguments of the "texfunc" primitive define expressions
for a "perturbation" of the surface normal, i.e., a value to be added
to the default surface normal. In your example, depending on the
values of A1, A2, and A3 (and assuming "PZ" should have been "Pz"),
you would get a surface normal that would change gradually according
to the position in 3-dimensional space, forcing whatever object was
covered to have a surface normal resembling that of a sphere the
larger the object became. This seems a very strange goal to me.

-Greg

From: [email protected]
Date: April 24, 2006 12:17:50 PM PDT

Hi all,

   I want to experiment with the texture of the materials by
modifying the
x, y and/or z normals of the surfaces in order to see how the
reflected
light changes in its characteristics. However, when I modify the
normals, using texfunc as the following example, apparently, just the
main normal is modified.

   void texfunc id
   3 Px*A1 Py*A2 PZ*A3
   0
   3 A1 A2 A3

   Does anyone have any suggestions on how I can make a "grid of
normals"
in order to modify the normals of smaller regions of the surface? and
how can I change the scale of that "grid"?
Thanks in advance,

Adriana Lira
Master in Design Studies, 2003
Candidate for Doctor in Design Studies
Harvard Graduate School of Design

_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general

Adriana Lira
Master in Design Studies, 2003
Candidate for Doctor in Design Studies
Harvard Graduate School of Design

Hi Adriana,

If you are hoping to model diffraction effects -- where geometric optics break down and wave optics take over -- you will be disappointed to learn that Radiance does not handle this case. Few ray-tracing systems do. Diffraction becomes important when the scale of surface variations (texture or thin films) is on the order of the wavelength of light, less than a micron or so. For this, you need a tool such as Code V from ORA:

  http://www.opticalres.com/news/cv96.html

I believe they have student pricing for their tools.

-Greg

···

From: [email protected]
Date: April 24, 2006 4:29:07 PM MST

Hi Greg,

In effect, what I get is the resemblance of a shpere the larger the
object. For this reason, I feel that I'm using "texfunc" in an improper
way for what I need. My objective is to modify the x, y and/or z normals
of a surface in order to analize how much R, G and/or B is being
absorbed/reflected. I know that depending on the texture of a surface, for
example, shortwavelenghs of the spectrum are more reflected than the short
waves of the spectrum. What I need is to create a "bumpy" surface in order
to see how much blue is reflected depending on the scale of this
"bumpiness" ( from very small scale-microscale, if possible, to
macroscale) and by having control of the perturbation of the x, y and z
normals. Is there a logic way in how to do this?

Adriana