This represents a whole bunch of changes that had accumulated over the past >2 years.
Key new features:
- New structure: Camera View. Represents a camera in the scene, add images/renderings and view them through the camera's perspective.
- New structure: Volume Grid. Values on the nodes or cells of a regular grid in 3D space. Visualize with slices through the grid, or view levelsets via marching cubes.
- New quantity: color & scalar images. These are a new kind of 'floating' quantity, add them to the whole scene, or to any structure.
- New quantity: render images. Images that represent renderings of the scene, and can depth-composite with other content, etc.
- New quantity: mesh texture images. Texture-mapped color and scalar values on meshes.
- Alternate control flow method for simulations & interactive apps that already have a main loop.
- Flat material circumvents shading & tonemapping to display colors onscreen exactly as specified.
- More helper functions for manipulating views and getting info about mouse clicks.
- C++ data adaptor taking {ptr, size} to from any flat buffer for adding structures & quantities.
- Surface Meshes no longer let you select halfedges/edges by default
- Big backend perf & memory improvements. Added shader cache. Total rewrite of backed data management, so we never store duplicate copies of data. Updating data in a tight loop should be much faster now.
- Beta/partial/undocumented support for directly updating buffers from the GPU without a CPU round-trip.
- Cleaned up docs website to scale better to more content. New FAQ section.
Just a few small breaking changes:
- Rename intrinsic vector quantities to tangent. Change interpretation of symmetric data. Track bases per-quantity rather than per-structure.
- Remove ability to set vertex- and face- permutations for surface meshes.
- Remove poorly-supported surface mesh quantities: surface graph (superseded by Curve Network), count quantity, subset quantity