thorvg icon indicating copy to clipboard operation
thorvg copied to clipboard

Support WebGPU raster backend

Open hermet opened this issue 1 year ago • 4 comments

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

hermet avatar Jun 03 '23 06:06 hermet

https://github.com/thorvg/thorvg/pull/1693

hermet avatar Oct 10 '23 02:10 hermet

https://github.com/thorvg/thorvg/wiki/24'-Development-Roadmap

hermet avatar Feb 02 '24 06:02 hermet

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 avatar Mar 23 '24 07:03 kunitoki

@kunitoki Yes, we do now.

hermet avatar Mar 25 '24 03:03 hermet

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

hermet avatar Jun 04 '24 09:06 hermet

macos: AnimateMasking: Zrzut ekranu 2024-06-19 o 15 40 08

GradientStroke: Zrzut ekranu 2024-06-19 o 15 48 47

Lottie crashed

LottieExtension crashed

Performance: Zrzut ekranu 2024-06-19 o 15 59 22

PictureRaw:

PictureTvg: Zrzut ekranu 2024-06-19 o 16 03 43

SceneBlending: Zrzut ekranu 2024-06-19 o 16 05 55

StrokeMitterlimit: Zrzut ekranu 2024-06-19 o 16 09 26

Svg - hangs

Tvg - hangs

mgrudzinska avatar Jun 19 '24 14:06 mgrudzinska

Examples Pass Rate: 62%

hermet avatar Jun 20 '24 10:06 hermet