V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sharpy
V2EX  ›  程序员

写了个软渲染,模拟 GPU 管线流程

  •  
  •   sharpy · 2020-01-04 16:59:55 +08:00 · 2567 次点击
    这是一个创建于 1566 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前迷惑如何进一步加速计算,上 simd 吧还得研究一下。 直接在遍历顶点时开了个线程池,速度居然比我开 openmp 还快点儿。 在知乎上找资料 tile-base 什么的,还在考虑怎么实现。 按照自己的理解实现了个几何着色器,目前能直接渲染出法线图。 这曲面细分着色怎么实现没找到什么资料,难道让我直接上 HalfEdge 结构算细分? 找了些更 NB 的实现,比如 SwiftShader,空明大大的 Salvia。 看得有点儿懵逼。

    7 条回复    2020-01-06 09:40:23 +08:00
    geekvcn
        1
    geekvcn  
       2020-01-04 17:02:44 +08:00 via iPhone
    sharpy
        2
    sharpy  
    OP
       2020-01-04 17:04:16 +08:00
    @geekvcn 刚想说这个
    geekvcn
        3
    geekvcn  
       2020-01-04 17:13:06 +08:00 via iPhone
    @sharpy 突然发现他已经研究过了,反正研究这些软件渲染不如直接研究 G3D,软件渲染通常是在没有 gpu 的情况下的后补方案,当初安卓 1.5 很多处理器只有 2D 加速没有 3D 加速,然后就加了个软件兼容层,效果惨不忍睹,卡得一逼,毕竟终究只是兼容性方案
    sharpy
        4
    sharpy  
    OP
       2020-01-04 17:21:14 +08:00
    @geekvcn 写这玩意儿,主要还是图个乐子,或许能加深一点儿对管线过程的理解,能隐隐约约知道 GPU 在干嘛。
    要想上项目,当然得 OpenGL/Metal 了,Vulkan 我还没在项目上用过
    geekvcn
        5
    geekvcn  
       2020-01-04 17:47:39 +08:00
    @sharpy 反正你要研究就直接研究 swiftshader 就行了,这是已经用于生产环境的东西
    quadpixels
        6
    quadpixels  
       2020-01-05 08:17:44 +08:00
    楼主太厉害了,请问用了多少时间做到现在这样?
    dick20cm
        7
    dick20cm  
       2020-01-06 09:40:23 +08:00
    @sharpy 挺好的,读书的时候有足够的时间,就该使劲造轮子,什么 CPU GPU Compiler 操作系统 数据库,把基础搞懂了,调库就和玩一样。小哥前途不可限量
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1048 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:14 · PVG 03:14 · LAX 12:14 · JFK 15:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.