zincware/ZnVis

Recorder trajectory

SamTov opened this issue · 0 comments

It would be nice to have automatic trajectories for the video recording. The following two options come to mind:

  1. Provide a degrees per second rotation speed and rotate about the z-axis at that speed. This requires multiplying the to_world or Open3D view_matrix by a rotation matrix each frame.
  2. Run the visualizer in a record_camera mode where while the trajectory is running at normal speed, the view_matrix at each frame is stored. After the trajectory completes, the rendering begins using the recorded matrices. This would allow for a very customized trajectory with a much greater speed.

In both cases, we need to add either a rendering class with additional options or implement a UI component just for rendering in the sidebar. Both possible, but I am happy for now with the API approach. It could look like this:

rendering = vis.Mitsuba(rotation_speed=0.1, from_trajectory=True, denoising=True, ...)

This would also allow for different engines to be selected such as https://plotoptix.rnd.team/ for example.