thorvg
thorvg copied to clipboard
Support WebGPU raster backend
Example working condition:
- [x] Shape
- [x] MultiShapes
- [x] Scene
- [x] Path
- [x] PathCopy
- [x] LinearGradient
- [x] RadialGradient
- [x] PictureJpg
- [x] PicturePng
- [x] PictureWebp
- [x] PictureRaw
- [x] Arc
- [x] Opacity
- [x] Stroke
- [x] StrokeLine
- [x] Texmap
- [x] GradientStroke
- [x] Blending
- [x] Transforms
- [x] ImageScaleDown
- [x] ImageScaleUp
- [x] Masking
- [x] InvMasking
- [x] LumaMasking
- [x] InvLumaMasking
- [x] SceneBlending
- [x] Accessor
- [x] CustomTransform
- [x] Animation
- [x] Update
- [x] SceneTransform
- [x] DataLoad
- [x] DirectUpdate
- [x] Retaining
- [x] StrokeMiterLimit
- [x] Text
- [x] Performance
- [x] AnimateMasking
- [x] FillRule
- [x] GradientTransform
- [x] GradientMasking
- [x] ClipPath
- [x] MaskingMethods
- [x] Duplicate
- [x] Svg
- [x] Tvg
- [x] PictureTvg
- [x] PictureSvg
- [x] LottieExtensions
- [ ] Lottie
- [ ] MultiCanvas
- [ ] SceneClipper //Unstable feature. Not important
https://github.com/thorvg/thorvg/pull/1693
https://github.com/thorvg/thorvg/wiki/24'-Development-Roadmap
It would be nice if we could get webgpu support considering also the possibility of using native webgpu backends (like Dawn or wgpu-native). This way we could get native rendering on opengl, vulkan, metal, direct3d, web with only a single backend implementation
@kunitoki Yes, we do now.
Currently 32 resources are incomplete support in Lottie examples:
- [x] 5317-fireworkds.json
- [x] 5344-honey-sack-hud.json
- [x] fiery_skull.json
- [x] hola.json
- [x] batman.json
- [x] open_envelope.json
- [x] polystar.json
- [x] rufo.json
- [x] skullboy.json
- [x] starburst.json
- [x] threads.json
- [x] growup.json
- [x] 11555.json
- [x] 27746-joypixels-partying-face-emoji-animation.json
- [x] a_mountain.json
- [x] eid_mubarak.json
- [x] fun_animation.json
- [x] hamburger.json
- [x] insta_camera.json
- [x] masking.json
- [x] driving.json
- [x] fly_in_beaker.json
- [x] gradient_background.json
- [x] isometric.json
- [x] starts_transparent.json
- [x] stroke_dash.json
- [x] game_finished.json
- [x] guitar.json
- [x] personal_character.json
- [ ] seawalk.json
- [ ] intelia_logo_animation.json
- [ ] like.json
macos:
AnimateMasking:
GradientStroke:
Lottie crashed
LottieExtension crashed
Performance:
PictureRaw:
PictureTvg:
SceneBlending:
StrokeMitterlimit:
Svg - hangs
Tvg - hangs
Examples Pass Rate: 62%