Pigment
Rendering function
from fdray import *
def render(*attrs):
return Scene(
Camera(30, 20, view_scale=2),
LightSource(0, "white"),
Box((-1, -1, -1), (1, 1, 1), *attrs),
).render(300, 300)
Solid color
Color list
Brick
render(Pigment("brick", Color("red", 0.4), Color("blue")).scale(0.2))
Checker
render(Pigment("checker", Color("ivory"), Color("cyan")).scale(0.4))
Hexagon
render(
Pigment(
"hexagon",
Color("teal"),
Color("navy"),
Color("purple"),
)
.scale(0.2)
.rotate("90*z"),
)
Color map
Gradient
cmap = ColorMap((0, Color("red")), (0.5, Color("blue")), (1, Color("red")))
render(Pigment("gradient x", cmap))
Checker
a = Pigment("granite", ColorMap((0, Color("red")), (0.9, Color("white"))))
b = Pigment("granite", ColorMap((0, Color("blue")), (0.9, Color("white"))))
p = Pigment("checker", a, b).scale(0.5)
render(p)
Pigment map
p = Pigment("gradient z", PigmentMap((0, a), (0.5, b), (1, a)))
render(p)
a = Declare(Pigment("agate", ColorMap((0, Color("red")), (0.9, Color("white")))))
b = Declare(Pigment("agate", ColorMap((0, Color("blue")), (0.9, Color("white")))))
p = Pigment("gradient x", PigmentMap((0, a), (0.5, b), (1, a)))
render(p)