Shadertastic

Shadertastic 1.1.0

This release focused on Usability and Face Tracking quality.

The major additions are:
  • The Face tracking now renders a pre-rasterized texture on demand, and computes the normals of each point. This allow for faster effects (no more ray-tracing required in the shaders), and also more complicated ones, like dynamic texturing of a face.
raster_tex
  • Added a new type of parameter : group, closing PR #19 Thank you to @Piripe for its help on this one!
  • Added a if option in the metadata for all the parameters, it allows to write conditional display of some effects. It is especially useful for complex effects, where some parameters are only required in some modes. It also helps to display contextual help in a more digestible manner (i.e. not showing every help text every time)
    Note that this feature is still experimental, but I'm pretty confident it's already working as expected.
    if_arg

➡️ More details (in French) on Patreon

Changelog​

Added​

  • Face Tracking: preraster mode and precomputed normals
  • Dev effects: identity and group_test
  • Conditional parameters (experimental)

Changed​

  • Face tracking: Better lip and chin refinement
  • Rewritten several parts of the code for performance and clarity
  • Gaussian blur effect: rewritten for better clarity
  • Face Detection reference: darker color for lower lip; add the preraster texture; add param show_eyes_balls
  • Face Detection Laser Eyes: using preraster for better performance
  • Changed labels of face tracking effects; kept names for backward compatibility
  • ONXX: centralized session initialization in onnxmediapipe::SessionsProvider

Fixed​

  • FaceTrackingCropShader: Fixed early stop not early enough
  • Like
Reactions: OpenFields
This is mostly a bug-fixing version.

Added​

  • Source/Image parameters : added _size sub parameter as float2 (#ST-21)

Fixed​

  • Fixed displacement map bugging with Linear RGB vs sRGB
  • Fix in linux build: requirelibonnxruntime.so.1.23.2instead libonnxruntime.so.1 (PR #24)

Changed​

  • Updated INNOSetup to 6.7.1
This version fixes a few corner-case issue with low alpha and low luminance colors in transitions.

It also adds a new filter, the Sobel Filter. Everything looks more interesting with a Sobel filter!
Screenshot_20260126_001531.png


Added
  • Added Sobel filter
  • Added some dev effects, for debugging (not in the release files)

Changed​

  • Burn transition: added smoothing effect

Fixed​

  • All the built-in transitions are now fully alpha-aware
  • Color parameter: Fixed inaccurate color due to sRGB
  • Transition: fixed incorrect alpha blending with partially transparent scenes
  • Transition: fixed first frame glitching when a transition auto reloads in dev mode
Happy New Year !

This version brings **a lot** of improvements and rewrites!
The metadata file structure has been changed for better adaptability of the project.
The whole render pipeline has been fully rewritten for the best performance possible.
The face tracking is now much faster, especially with multiple face tracking effects stacked.

Also: We have MacOS support now! I don't have a Mac to test it extensively but the alpha testers say everything works perfectly.

But the biggest change, which opens many possibilities, is the `prev_frame` parameter!

It allows an effect to keep track of what happened before, meaning fun stuff like particle simulation
or recursion effects are now possible!
Right now, I have only a few releasable effects to show, but many, many more are coming soon...

Added
- `prev_frame` parameter (#ST-2)
- Mac OS support (#ST-5)
- Multiple effects path support (#ST-37)
- Added `metafileVersion` to the meta file in order to anticipate future changes
- Added json-schema and d.ts files for reference and IDE support
- Added `frame_index` parameter, counting the number of frames since the transition started or the effect is visible (#ST-36)
- `is_studio_mode` parameter, mostly for development purpose (#ST-38)
- Show compile errors in the UI (#ST-39)
- [Filter] New built-in effect "Color invert"
- [Filter] New built-in effect "Ghost"
- [Filter] New built-in effect "Recursion"
- Added a meta.json definition file `meta.d.ts`

Fixed
- Fixed `obs_get_source_properties("shadertastic_transition")` and `obs_get_source_properties("shadertastic_filter")` crashing OBS
- Fixed "Min Cutoff" step settings being zero
- Reset `prev_time` on visibility toggle
- Updated plugin name for OBS 32
- Fixed "Crashes when reading OBS properties by source ID" (issue #11)
- Alpha compensation (#ST-41)

Changed
- Replaced CMake build with newest template from OBS 30.2 (#ST-5)
- Migrated `input_type` option as parameter `time` (#ST-34)
- Migrated `input_facedetection` option as parameter `facetracking` (#ST-35)
- Moved export buttons above the about box
- Renamed default filter name to "Shadertastic" instead of "Shadertastic filter"
- Listing effects by label instead of name
- Face tracking: Slightly improved the crop192 filter
- Face tracking: slight performance improvement & do not execute the face mesh if a face is not detected
- Face tracking: Updated ONNX Runtime from `1.17.1` to `1.23.2`
- Performance: shared placeholder textures for all filters and transitions
- [Filter] Gaussian Blur: better alpha management
- [Filter] Rainbow effect: added random mode
- [Filter] Laser eyes: performance improvement by using static data

Removed
- Face tracking: removed eye points parameters (`fd_leye_1` and similar) (#ST-35)

Fixed​

  • Transition Settings : copy/paste config showing only in developer mode

Added​

  • Transition Settings: copy/paste config buttons

Changed

- Settings: Rewritten texts for better clarity
Back
Top