OpenACG-Group / Cocoa

A general-purposed 2D rendering framework & visual novel engine.
https://openacg-group.github.io
GNU General Public License v3.0
3 stars 1 forks source link

[typescript] Implement RasterPipeline, an image processing API #5

Open wait1210day opened 1 year ago

wait1210day commented 1 year ago

Plan to implement RasterPipeline, which is an image processing API based on native Skia API, and optionally integrate OpenCV WASM. This API allows users to generate and process images by creating a DAG (Directed Acyclic Graph) pipeline. Each node in the DAG could process or generate images, and they are connected together so that a node can take another node's output as its input. This is very similar to AVFilterDAG class in utau module, which process video or audio frames by a DAG constructed by ffmpeg's DSL (AVFilterDAG.MakeFromDSL()). But RasterPipeline is for static images, which means it is simplified and does not consider some complex things in multimedia processing, like frame timing. And RasterPipeline is designed for glamor module, supporting Skia APIs instead of VideoFrame or AudioFrame API in utau module.

Development of RasterPipeline is in progress.