Orillusion

    • 注册
    • 登录
    • 搜索
    • 版块
    • 最新
    • 标签

    通过device.createTexture()创建纹理时的一些参数问题

    中文社区
    创建纹理时的一些参数问题
    2
    3
    109
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • P
      Perfumer 最后由 编辑

      😞
      Question 1:
      param usage differences between GPUTextureUsage.COPY_SRC and GPUTextureUsage.COPY_DST?

      Question 2:
      param size why we need the third params depthOrArrayLayers. how it works in graphic task?

      Question 3:
      param format differences between rgbaunorm and bgraunorm, why we have to use bgraunorm when the value of param sampleCount is 4?

      1 条回复 最后回复 回复 引用 0
      • shuangliu
        shuangliu 最后由 shuangliu 编辑

        1. 用来标明是拷贝的来源还是目标,copy_dst 就是可以做为 copy 的目标,比如用 copyExternalImageToTexture 把 image
          拷贝给 texture。相应的,copy_src 就是可以作为 copy 来源,也就是可以被拷贝,比如用 copyTexureToTexture,t1 copy to t2,那t1需要有 copy_src,t2要有 copy_dst

        2. 因为纹理贴图支持多维度的贴图,除了普通的 2d 贴图,webgpu 还支持 1d, cube, 3d, 2d-array, 3d-array 等类型,那么就对应的depthOrArrayLayer 标明深度参数或者 Array 的layer数量,比如cube对应的 depthOrArrayLayer 就必须是6,其他比如 2d-array 根据贴图数量设置

        3. rgba/bgra 只是 rgb 的排列方式不同而已,对应着小端对齐/大端对齐,并没有特殊的不同,我不确定 samplecount 为4,既开启了 MSAA 时,一定要用bgra8unorm吗?
          如果是,可能因为目前 webgpu 默认的 MSAA 需要硬件/系统驱动支持,所以必须要用 perfered format 才可以。
          目前大部分设备的色彩空间格式默认是 bgra 排列,起码我手上的 几个 windows, mac 和 ios 都是,所以开启默认的 MSAA 时,必须用 bgra8unorm。
          至于为什么默认是 bgra,因为 bgra 排列更符合cpu/gpu的内存排列方式,读取不需要额外的转换操作,可以直接使用底层驱动API去操作
          实践上,一般推荐调用context.getPreferredFormat() 得到系统默认的格式,可以避免一些不必要的问题,理论上性能也更好一些

        P 1 条回复 最后回复 回复 引用 2
        • P
          Perfumer @shuangliu 最后由 编辑

          @shuangliu 感谢回复👍

          1 条回复 最后回复 回复 引用 0
          • First post
            Last post

          Recent Post

          • 目前可以预览demo了

            • 阅读更多
          • A

            这demo太卡了,我机器性能不算差,运行个demo cpu就将近100%

            • 阅读更多
          • A

            没有贴出app.vue的代码

            • 阅读更多
          • @aichangqing 可能是之前版本的cdn缓存没更新,可以清理本地缓存刷新再试一次

            • 阅读更多
          • 36e6af78-b023-4031-9b56-bd8713b44393-image.png

            已经是版本 113.0.5656.0(正式版本)canary (64 位)并且开启chrome://flags/#enable-unsafe-webgpu 为enable,为啥还不能预览demo

            • 阅读更多

          Copyright © 2022 Orillusion | Contact US