mesh3d_model {rayrender} | R Documentation |
'mesh3d' model
Description
Load an 'mesh3d' (or 'shapelist3d') object, as specified in the 'rgl' package.
Usage
mesh3d_model(
mesh,
x = 0,
y = 0,
z = 0,
swap_yz = FALSE,
reverse = FALSE,
subdivision_levels = 1,
verbose = FALSE,
displacement_texture = NA,
displacement_intensity = 1,
displacement_vector = FALSE,
recalculate_normals = FALSE,
override_material = FALSE,
material = diffuse(),
angle = c(0, 0, 0),
order_rotation = c(1, 2, 3),
flipped = FALSE,
scale = c(1, 1, 1)
)
Arguments
mesh |
A 'mesh3d' or 'shapelist3d' object. Pulls the vertex, index, texture coordinates, normals, and material information. If the material references an image texture, the 'mesh$material$texture' argument should be set to the image filename. The 'mesh3d' format only supports one image texture per mesh. All quads will be triangulated. |
x |
Default '0'. x-coordinate to offset the model. |
y |
Default '0'. y-coordinate to offset the model. |
z |
Default '0'. z-coordinate to offset the model. |
swap_yz |
Default 'FALSE'. Swap the Y and Z coordinates. |
reverse |
Default 'FALSE'. Reverse the orientation of the indices, flipping their normals. |
subdivision_levels |
Default '1'. Number of Loop subdivisions to be applied to the mesh. |
verbose |
Default 'FALSE'. If 'TRUE', prints information about the mesh to the console. |
displacement_texture |
Default 'NA'. File path to the displacement texture. This texture is used to displace the vertices of the mesh based on the texture's pixel values. |
displacement_intensity |
Default '1'. Intensity of the displacement effect. Higher values result in greater displacement. |
displacement_vector |
Default 'FALSE'. Whether to use vector displacement. If 'TRUE', the displacement texture is interpreted as providing a 3D displacement vector. Otherwise, the texture is interpreted as providing a scalar displacement. |
recalculate_normals |
Default 'FALSE'. Whether to recalculate vertex normals based on the connecting face orientations. This can be used to compute normals for meshes lacking them or to calculate new normals after a displacement map has been applied to the mesh. |
override_material |
Default 'FALSE'. If 'TRUE', overrides the material specified in the 'mesh3d' object with the one specified in 'material'. |
material |
Default |
angle |
Default 'c(0, 0, 0)'. Angle of rotation around the x, y, and z axes, applied in the order specified in 'order_rotation'. |
order_rotation |
Default 'c(1, 2, 3)'. The order to apply the rotations, referring to "x", "y", and "z". |
flipped |
Default 'FALSE'. Whether to flip the normals. |
scale |
Default 'c(1, 1, 1)'. Scale transformation in the x, y, and z directions. If this is a single value, number, the object will be scaled uniformly. Note: emissive objects may not currently function correctly when scaled. |
Value
Single row of a tibble describing the mesh3d model in the scene.
Examples
#Load a mesh3d object (from the Rvcg) and render it:
if(length(find.package("Rcvg", quiet=TRUE)) > 0) {
library(Rvcg)
data(humface)
generate_studio() %>%
add_object(mesh3d_model(humface,y=-0.3,x=0,z=0,
material=glossy(color="dodgerblue4"), scale = 1/70)) %>%
add_object(sphere(y=5,x=5,z=5,material=light(intensity=50))) %>%
render_scene(samples=128,width=800,height=800,
lookat = c(0,0.5,1), aperture=0.0)
}