#Generate and render a regular scene and an ambient occlusion version of that scene
if(run_documentation()) {
angles = seq(0,360,by=36)
xx = rev(c(rep(c(1,0.5),5),1) * sinpi(angles/180))
yy = rev(c(rep(c(1,0.5),5),1) * cospi(angles/180))
star_polygon = data.frame(x=xx,y=yy)
hollow_star = rbind(star_polygon,0.8*star_polygon)
generate_ground(material = diffuse(color="grey20", checkercolor = "grey50",sigma=90)) %>%
add_object(sphere(material=metal())) %>%
add_object(obj_model(r_obj(),y=-0.25,x=-1.8,scale=2,
angle=c(0,135,0),material = diffuse(sigma=90))) %>%
add_object(pig(x=1.8,y=-1.2,scale=0.5,angle=c(0,90,0),diffuse_sigma = 90)) %>%
add_object(extruded_polygon(hollow_star,top=-0.5,bottom=-1, z=-2,
hole = nrow(star_polygon),
material=diffuse(color="red",sigma=90))) %>%
render_scene(parallel = TRUE,width=800,height=800,
fov=70,clamp_value=10,samples=16, aperture=0.1,
lookfrom=c(-0.9,1.2,-4.5),lookat=c(0,-1,0))
}
if(run_documentation()) {
#Render the scene with ambient occlusion
generate_ground(material = diffuse(color="grey20", checkercolor = "grey50",sigma=90)) %>%
add_object(sphere(material=metal())) %>%
add_object(obj_model(r_obj(),y=-0.25,x=-1.8,scale=2,
angle=c(0,135,0),material = diffuse(sigma=90))) %>%
add_object(pig(x=1.8,y=-1.2,scale=0.5,angle=c(0,90,0),diffuse_sigma = 90)) %>%
add_object(extruded_polygon(hollow_star,top=-0.5,bottom=-1, z=-2,
hole = nrow(star_polygon),
material=diffuse(color="red",sigma=90))) %>%
render_ao(parallel = TRUE,width=800,height=800, sample_dist=10,
fov=70,samples=16, aperture=0.1,
lookfrom=c(-0.9,1.2,-4.5),lookat=c(0,-1,0))
}
if(run_documentation()) {
#Decrease the ray occlusion search distance
generate_ground(material = diffuse(color="grey20", checkercolor = "grey50",sigma=90)) %>%
add_object(sphere(material=metal())) %>%
add_object(obj_model(r_obj(),y=-0.25,x=-1.8,scale=2,
angle=c(0,135,0),material = diffuse(sigma=90))) %>%
add_object(pig(x=1.8,y=-1.2,scale=0.5,angle=c(0,90,0),diffuse_sigma = 90)) %>%
add_object(extruded_polygon(hollow_star,top=-0.5,bottom=-1, z=-2,
hole = nrow(star_polygon),
material=diffuse(color="red",sigma=90))) %>%
render_ao(parallel = TRUE,width=800,height=800, sample_dist=1,
fov=70,samples=16, aperture=0.1,
lookfrom=c(-0.9,1.2,-4.5),lookat=c(0,-1,0))
}
if(run_documentation()) {
#Turn on colors
generate_ground(material = diffuse(color="grey20", checkercolor = "grey50",sigma=90)) %>%
add_object(sphere(material=metal())) %>%
add_object(obj_model(r_obj(), y=-0.25,x=-1.8,scale=2,
angle=c(0,135,0),material = diffuse(sigma=90))) %>%
add_object(pig(x=1.8,y=-1.2,scale=0.5,angle=c(0,90,0),diffuse_sigma = 90)) %>%
add_object(extruded_polygon(hollow_star,top=-0.5,bottom=-1, z=-2,
hole = nrow(star_polygon),
material=diffuse(color="red",sigma=90))) %>%
render_ao(parallel = TRUE,width=800,height=800, sample_dist=1,
fov=70,samples=16, aperture=0.1, keep_colors = TRUE,
lookfrom=c(-0.9,1.2,-4.5),lookat=c(0,-1,0))
}
Run the code above in your browser using DataLab