V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xiaoiver
V2EX  ›  分享创造

我正在写一份无限画布教程

  •  4
     
  •   xiaoiver · 3 天前 · 2195 次点击

    你一定见过甚至使用过各种包含无限画布的应用,infinitecanvas 上就展示了从设计工具到创意画板在内的众多案例,其中不乏一些知名产品包括 Figma 、Modyfi 、Motiff 、rnote 、tldraw 、excalidraw 等等。

    作为一个前端,我对其中涉及到的渲染技术很感兴趣。尽管 tldraw 、excalidraw 等普遍使用易用性更高的 Canvas2D / SVG 技术,但 JS 和 Rust 生态中也有很多编辑器、设计工具使用更底层的渲染技术对 2D 图形进行 GPU 加速,以获得更好的性能和体验。

    因此在这个教程中,我希望实现以下特性:

    • 使用支持 WebGL1/2 和 WebGPU 的硬件抽象层。
    • 使用 SDF 渲染圆、椭圆、矩形等。
    • GPU 加速的文本和贝塞尔曲线渲染。
    • 使用 rough.js 支持手绘风格。
    • 使用 CRDT 支持协同 Yjs 。

    目前已经写了十多章了,希望得到更多关注!

    项目地址: https://github.com/xiaoiver/infinite-canvas-tutorial

    19 条回复    2025-03-18 18:01:43 +08:00
    chingli
        1
    chingli  
       3 天前 via Android
    这个也太强了,现代计算机绘图技术之集大成,一定认真学习。
    shilianmlxg
        2
    shilianmlxg  
       3 天前 via iPhone
    tql 正好现在在学可视化拖拽
    xiaoiver
        3
    xiaoiver  
    OP
       3 天前
    @chingli 谢谢支持,但也没这么夸张😊。借鉴了非常多已有的实践,在过程中我也在学习,也是想做这个教程的初衷。
    Rrrrrr
        4
    Rrrrrr  
       3 天前
    先 收藏 再看
    kenberkeley
        5
    kenberkeley  
       3 天前 via iPhone
    请收下我的膝盖。
    rekulas
        6
    rekulas  
       3 天前
    写图形的都是大佬
    enchilada2020
        7
    enchilada2020  
       3 天前 via Android
    大佬🐮🍺 已 star 不过好像有点太硬核了 在线求一份 Canvas/SVG 制作画布的教程…
    SayHelloHi
        8
    SayHelloHi  
       3 天前
    在线求一份 Canvas/SVG 制作画布的教程 +1
    sakura0508
        9
    sakura0508  
       3 天前
    🐮🍺 先 start 再看
    Hanser002
        10
    Hanser002  
       3 天前
    太赞了!最近正好在研究 webGPU
    boyzhang
        11
    boyzhang  
       3 天前
    很强啊,收藏了,有空就学习下
    Daru
        12
    Daru  
       3 天前
    太強了,正好需要這個,收藏了
    Chiqing
        13
    Chiqing  
       3 天前
    想问问佬,这种教程网站是有模板的吗,感觉看过几次类似风格的
    sankemao
        14
    sankemao  
       3 天前
    之前写画布应用的时候参考过
    xiaoiver
        15
    xiaoiver  
    OP
       3 天前   ❤️ 1
    @Chiqing 这个用的是 VitePress 生成的,默认主题
    maoxianCk
        16
    maoxianCk  
       2 天前
    强,支持大佬
    terito11122
        17
    terito11122  
       2 天前
    太强了 学习下
    zhangchaojie
        18
    zhangchaojie  
       2 天前
    强,star 了
    shui14
        19
    shui14  
       2 天前
    可以直接放弃 webgl2 。除非锚定 web ,直接 dawn 开发向下兼容到 js 应该更有空间
    跨平台,按照现在 llm 的趋势,很快就会有全能 app 出现,imgui 迎来第二波春天,我压宝它
    类似的 zed 那个团队的 gpui ,长桥的开发谈到过不过他们是桌面。还有一个香港的团队搞光追也挺有特色
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5298 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 03:26 · PVG 11:26 · LAX 20:26 · JFK 23:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.