Text Object
text3d_mesh(
label,
position = c(0, 0, 0),
text_height = 1,
orientation = "xy",
font_color = "black",
font_size = 100,
font = "sans",
font_lineheight = 12,
background_color = "white",
background_alpha = 0,
angle = c(0, 0, 0),
pivot_point = c(0, 0, 0),
order_rotation = c(1, 2, 3),
scale = c(1, 1, 1)
)
Text string.
Default c(0,0,0)
. Position of the mesh.
Default 1
. Height of the text.
Default xy
. Orientation of the plane. Other options are yz
and xz
.
Default "black"
. The font color.
Default 100
. The size of the font. Note that this does not control the size of the text, just the resolution
as rendered in the texture.
Default "sans"
. A character string specifying the font family (e.g., "Arial"
, "Times"
, "Helvetica"
).
Default 12
. The lineheight for strings with newlines.
Default "white"
. The background color.
Default 0
. The background opacity. 1
is fully opaque.
Default c(0,0,0)
. Angle to rotate the mesh.
Default c(0,0,0)
. Point around which to rotate the mesh.
Default c(1,2,3)
. Order to rotate the axes.
Default c(1,1,1)
. Scale of the mesh. Can also be a single numeric value scaling all axes uniformly.
List describing the mesh.
if(run_documentation()) {
#Generate a label in the Cornell box.
generate_cornell_mesh() |>
add_shape(text3d_mesh(label="Cornell Box", position=c(555/2,555/2,555/2),angle=c(0,180,0),
text_height=120)) |>
rasterize_scene(light_info = directional_light(c(0.1,0.4,-1)))
}
#> Setting default values for Cornell box: lookfrom `c(278,278,-800)` lookat `c(278,278,0)` fov `40` .
if(run_documentation()) {
#Change the orientation
generate_cornell_mesh() |>
add_shape(text3d_mesh(label="YZ Plane", position=c(540,555/2,555/2),text_height=180,
orientation = "yz",angle=c(0,180,0))) |>
add_shape(text3d_mesh(label="XY Plane", position=c(555/2,555/2,540),text_height=180,
orientation = "xy", angle=c(0,180,0))) |>
add_shape(text3d_mesh(label="XZ Plane", position=c(555/2,15,555/2),text_height=180,
orientation = "xz", angle=c(0,180,0))) |>
rasterize_scene(light_info = directional_light(c(0.1,0.4,-1)))
}
#> Setting default values for Cornell box: lookfrom `c(278,278,-800)` lookat `c(278,278,0)` fov `40` .
if(run_documentation()) {
#Add an label in front of a sphere and change the font
generate_cornell_mesh() |>
add_shape(text3d_mesh(label="Cornell Box", position=c(555/2,555/2,555/2),text_height=180,
font = "Serif", font_color="orange",
angle=c(0,180,0))) |>
add_shape(text3d_mesh(label="Sphere", position=c(555/2,130,100),text_height=100,
font = "sans",
font_color="lightblue",angle=c(0,180,40))) |>
add_shape(sphere_mesh(radius=100,position=c(555/2,100,555/2),
material=material_list(diffuse="purple",type="phong"))) |>
rasterize_scene(light_info = directional_light(c(0.1,0.4,-1)))
}
#> Setting default values for Cornell box: lookfrom `c(278,278,-800)` lookat `c(278,278,0)` fov `40` .
if(run_documentation()) {
#A room full of b's
set.seed(1)
bee_scene = list()
for(i in 1:100) {
bee_scene = add_shape(bee_scene, text3d_mesh("B", position=c(20+runif(3)*525),
font_color="yellow", text_height = 100,
angle=c(0,180,0)))
}
generate_cornell_mesh() |>
add_shape(bee_scene) |>
rasterize_scene(light=directional_light(c(0,1,-1)))
}
#> Setting default values for Cornell box: lookfrom `c(278,278,-800)` lookat `c(278,278,0)` fov `40` .
if(run_documentation()) {
#A room full of bees
bee_scene = list()
set.seed(1)
for(i in 1:100) {
bee_scene = add_shape(bee_scene, text3d_mesh("🐝", position=c(20+runif(3)*525),
font_color="yellow", text_height = 100,
angle=c(0,180,0)))
}
generate_cornell_mesh() |>
add_shape(bee_scene) |>
rasterize_scene(light=directional_light(c(0,1,-1)))
}
#> Setting default values for Cornell box: lookfrom `c(278,278,-800)` lookat `c(278,278,0)` fov `40` .