POV-Ray : Newsgroups : povray.newusers : Chipboard texture : Re: Chipboard texture Server Time
1 Jul 2022 18:55:51 EDT (-0400)
  Re: Chipboard texture  
From: Alain
Date: 29 Jan 2018 18:48:50
Message: <5a6fb2e2@news.povray.org>
Le 18-01-29 à 08:28, Bald Eagle a écrit :
> This is one of those things that ought to be simple, but I've never wuite been
> able to get it to work out right.
> 
> I wanted to design a texture resembling chipboard / particle board / OSB.
> 
> I figured that it would be as simple as using some randomly rotated wood
> textures with a crackle pattern - but for whatever reason it looked like hell
> the last 2 times I've tried it.
> 
> Anybody care to take a stab at it?
> 
> 

If you have something like:
[0 wood rotate 0*x][1 Wood rotate 90*x]
Then, for all values between 0  and 1, you get a mix of the two 
extremes. It probably don't look good.

You probably want something like (with "Wood" declared as some wood like 
texture):

[0.1 Wood]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.1 Wood rotate Rot][0.2 Wood rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.2 Wood rotate Rot][0.3 Wood rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.3 Wood rotate Rot][0.4 Wood rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.4 Wood rotate Rot][0.5 Wood rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.5 Wood rotate Rot][0.6 Wood rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.6 Wood rotate Rot][0.7 Wood rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.7 Wood rotate Rot][0.8 Wood rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.8 Wood rotate Rot][0.9 Wood rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.9 Wood rotate Rot]

That way, you get 10 ranges that have some uniform but random rotations.

You may want to have some tint variations. For that, declare two 
textures that are the exact same EXCEPT that they use different 
colour_map, like one light and one dark.
This gives this:

[0 WoodLight][0.1 WoodDark]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.1 WoodLight rotate Rot][0.2 WoodDark rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.2 WoodLight rotate Rot][0.3 WoodDark rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.3 WoodLight rotate Rot][0.4 WoodDark rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.4 WoodLight rotate Rot][0.5 WoodDark rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.5 WoodLight rotate Rot][0.6 WoodDark rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.6 WoodLight rotate Rot][0.7 WoodDark rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.7 WoodLight rotate Rot][0.8 WoodDark rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.8 WoodLight rotate Rot][0.9 WoodDark rotate Rot]
#local Rot = <rand(R),rand(R),rand(R)>*360;
[0.9 WoodLight rotate Rot][1 WoodDark rotate Rot]


Post a reply to this message

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