v0.3.5
Pre-release
Pre-release
- Added
#[derive(Serialize, Deserialize)]toView2andView3 - Make
TranslateHandletake aconst N: usizeparameter - Use
TranslateHandleinView2(previously, it was only used inView3) - Make
translateandrotatefunctions borrow their respective handle, instead of taking it by value. - Fix docstring for
AndRegImm,AndRegReg,OrRegImm, andOrRegReg - Add
cancel: CancelTokento 2D and 3D rendering configuration objects; this is a sharedArc<AtomicBool>which can be used to stop rendering. The returned type is now anOption<...>, whereNoneindicates that rendering was cancelled. - Fix inconsistency between JIT and VM evaluator when performing interval evaluation of
not([NAN, NAN]). - Propagate
NANvalues throughandandoroperations on intervals. - Add a new
Image<P>generic image type (wrapping aVec<P>,width, andheight).- Define
DepthImage,NormalImage, andColorImagespecializations - Use these types in 2D and 3D rendering
- Define
- Remove
Grad::to_rgbin favor of handling it at the image level - Add
fidget::render::effectsmodule for post-processing rendered images:- Combining depth and normal images into a shaded image
- Denoising normals to fix back-facing samples
- Computing and applying screen-space ambient occlusion
- Optimize implementation of interval
modulofor cases where the right-hand argument is a positive constant value (which is the most common when using it for domain repetition) - Update many dependencies to their latest versions
getrandom#504, crates which use Fidget as a library and compile to WebAssembly must select a getrandom backend.
This can be done either on the command line (RUSTFLAGS='--cfg getrandom_backend="wasm_js"') or in a .cargo/config.toml configuration file (e.g. this file in Fidget itself).