|
 |
On 9/2/25 03:09, kurtz le pirate wrote:
> merge {
...
> }
>
>
> Now everything seems fine.
> I can restart my tests with SSS.
FWIW. An option, which might be faster than your merge{}, would be to
use a bezier_spline prism{}.
Bill P.
//---
#version 3.8;
global_settings { assumed_gamma 1 }
#declare Grey50 = srgb <0.5,0.5,0.5>;
background { Grey50 }
#declare Camera00 = camera {
perspective
location <3,3,-3.001>
sky y
angle 35
right x*(image_width/image_height)
look_at <0,0,0>
}
#declare White = srgb <1,1,1>;
#declare Light00 = light_source { <50,150,-250>, White }
#declare Red = srgb <1,0,0>;
#declare CylinderX = cylinder { -1.1*x, 1.1*x, 0.01 pigment { Red } }
#declare Green = srgb <0,1,0>;
#declare CylinderY = cylinder { -1.1*y, 1.1*y, 0.01 pigment { Green } }
#declare Blue = srgb <0,0,1>;
#declare CylinderZ = cylinder { -1.1*z, 1.1*z, 0.01 pigment { Blue } }
#declare Orange = srgb <1,0.50196,0>;
//---
#declare Bot = 0.0; // Base of prism linear sweep
#declare Top = 0.2; // Top of prism linear sweep
#declare Frac = 0.2; // portion of +-1.0 edges rounded
#declare Shft = 1.0-Frac; // Normalize to 1x1 range
#declare ShftUR = <+Shft,+Shft>; // Shift up and right
#declare ShftUL = <-Shft,+Shft>; // Shift up and left
#declare ShftLL = <-Shft,-Shft>; // Shift lower and left
#declare ShftLR = <+Shft,-Shft>; // Shift lower and right
#declare Prism00 = prism {
bezier_spline
linear_sweep
Bot, Top, 32,
<1,0>*Frac+ShftUR,<1,0.552285>*Frac+ShftUR,
<0.552285,1>*Frac+ShftUR,<0,1>*Frac+ShftUR,
<+Shft,1>,<+Shft+Shft/3,1>,<-Shft+Shft/3,1>,<-Shft,1>,
<0,1>*Frac+ShftUL,<-0.552285,1>*Frac+ShftUL,
<-1,0.552285>*Frac+ShftUL,<-1,0>*Frac+ShftUL,
<-1,+Shft>,<-1,+Shft-Shft/3>,<-1,-Shft+Shft/3>,<-1,-Shft>,
<-1,0>*Frac+ShftLL,<-1,-0.552285>*Frac+ShftLL,
<-0.552285,-1>*Frac+ShftLL,<0,-1>*Frac+ShftLL,
<-Shft,-1>,<-Shft+Shft/3,-1>,<+Shft-Shft/3,-1>,<+Shft,-1>,
<0,-1>*Frac+ShftLR,<0.552285,-1>*Frac+ShftLR,
<1,-0.552285>*Frac+ShftLR,<1,0>*Frac+ShftLR
<+1,-Shft>,<+1,-Shft+Shft/3>,<+1,+Shft-Shft/3>,<+1,+Shft>
pigment { Orange }
}
#declare PrismCylinder = prism { // Bezier spline cylinder approx
bezier_spline
linear_sweep
Bot, Top, 16,
<1,0>,<1,0.552285>,<0.552285,1>,<0,1>
<0,1>,<-0.552285,1>,<-1,0.552285>,<-1,0>
<-1,0>,<-1,-0.552285>,<-0.552285,-1>,<0,-1>
<0,-1>,<0.552285,-1>,<1,-0.552285>,<1,0>
pigment { Orange }
}
//--- scene ---
camera { Camera00 }
light_source { Light00 }
object { CylinderX }
object { CylinderY }
object { CylinderZ }
object { Prism00 }
// object { PrismCylinder } // Bezier spline cylinder approx
//---
Post a reply to this message
|
 |