Module Render
Rendering methods
# VPL.Render.render
— Function.
render(m::Mesh; kwargs...)
Render a mesh. This will create a new visualization (see Documentation for details). Keyword arguments are passed to the render(scene::Geom.Scene)
method and any unmatched keywords will be passed along to Makie.mesh()
.
render(scene::Geom.Scene; normals::Bool = false, wireframe::Bool = false, kwargs...)
Render a Geom.Scene
object. This will create a new visualization (see Documentation for details). normals = true
will draw arrows in the direction of the normal vector for each triangle in the mesh, wireframe = true
will draw the edges of each triangle with black lines. Keyword arguments are passed to Makie.mesh()
.
render(graph::Graph, Float64; normals::Bool = false, message = nothing,
wireframe::Bool = false, kwargs...)
Render the 3D mesh associated to a Graph
object. This will create a new visualization (see Documentation for details). normals = true
will draw arrows in the direction of the normal vector for each triangle in the mesh, wireframe = true
will draw the edges of each triangle with black lines. Keyword arguments are passed to Makie.mesh()
. The argument message
is any user-defined object that will be stored in the turtles and hence available within the feed!
and feedcolor!
methods. By default, double floating precision will be used (Float64
) but it is possible to generate a version with a different precision by specifying the corresponding type as in render(graph, Float32)
.
render(graphs::Vector{<:Graph}, Float64; normals::Bool = false,
wireframe::Bool = false, messsage = nothing, kwargs...)
Render the 3D mesh associated to an array of Graph
objects. This will create a new visualization (see Documentation for details). normals = true
will draw arrows in the direction of the normal vector for each triangle in the mesh, wireframe = true
will draw the edges of each triangle with black lines. Keyword arguments are passed to Makie.mesh()
. The argument message
is any user-defined object that will be stored in the turtles and hence available within the feed!
and feedcolor!
methods. By default, double floating precision will be used (Float64
) but it is possible to generate a version with a different precision by specifying the corresponding type as in render(graphs, Float32)
.
# VPL.Render.render!
— Function.
render!(source::Source{G, A, nw}; n = 20, alpha = 0.2, point = false,
= 0.2) scale
Add a mesh representing the light source to a 3D scene (if point = false
) or a series of points representing the center of the light sources (if point = true
). When point = false
, for each type of light source a triangular mesh will be created, where n
is the number of triangles (see documentation of geometric primitives for details) and alpha
is the transparency to be used for each triangle. When point = true
, only the center of the light source is rendered along with the normal vector at that point (representative of the direction at which rays are generated). In the current version, point = true
is only possible for directional light sources.
render!(grid::GridCloner; alpha = 0.2)
Add a mesh representing the bounding boxes of the grid cloner to a 3D scene, where alpha
represents the transparency of each box.
render!(m::Mesh; kwargs...)
Add a mesh to the visualization currently active. This will create a new visualization (see Documentation for details). Keyword arguments are passed to the render!(scene::Geom.Scene)
method and any unmatched keywords will be passed along to Makie.mesh!()
.
# VPL.Render.export_scene
— Method.
export_scene(;scene, filename, kwargs...)
Export a screenshot of the current visualization (stored as scene
as output of a call to render
) as a PNG file store in the path given by filename
(including .png
extension). Keyword arguments will be passed along to the corresponding save
method from Makie (see VPL documentation for details).