Pattern
Rendering function
from fdray import *
def render(texture1, texture2):
sphere = Declare(Sphere(0, 1.2))
cylinder = Declare(Cylinder("-z", "z", 1))
box = Declare(Box(-1, 1) - Box(-1, 1).translate(1))
shapes = Union(
Object(sphere).translate("-2.7*y"),
Object(cylinder),
Object(box).translate("2.7*y"),
)
return Scene(
Include("colors.inc", "textures.inc", "woods.inc", "stones.inc", "metals.inc"),
Camera(10, 20, view_scale=4),
LightSource(0, "white"),
shapes.add(texture1).translate("1.5*z"),
shapes.add(texture2).translate("-1.5*z"),
).render(800, 600)
Agate
render(Pigment("agate").scale(0.8), [Color("White*0.9"), Normal("agate", 1).scale(0.8)])
Bumps
render(
Pigment("bumps", ColorMap((0, Color("blue")), (0.5, Color("white")))).scale(0.3),
[Color("White*0.9"), Normal("bumps", 1).scale(0.3)],
)
Checker
render(
Pigment("checker", Pigment("DMFWood4"), Pigment("DMFWood1")).scale(0.5),
Texture("checker", Texture("Aluminum"), Texture("T_Stone18")).scale(0.5),
)
Granite
render(Pigment("granite"), [Color("White*0.9"), Normal("granite", 1)])
Marble
render(
Pigment("marble", turbulence=0.8),
[Color("White*0.9"), Normal("marble", 1, turbulence=0.8)],
)