Orillusion

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

    如何在webgpu中做纹理纵向反转

    中文社区
    webgpu api texture
    2
    2
    128
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 浮
      浮光_ 最后由 编辑

      看了webGPU api 的翻译文档,也在网上查了但还是没找到如何在webgpu中将Texture进行vertically flip

      在webgl中有类似的api, gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true)

      texture的反转是不是在 device.createTexture() 或者是 device.queue.copyExternalImageToTexture() 调用?

      我现在的做法是在片元着色器中转换UV,但是webgpu中有没有跟简单的方式?

      admin 1 条回复 最后回复 回复 引用 0
      • admin
        admin @浮光_ 最后由 编辑

        @浮光_ 考虑你为什么需要做flip,可能是OpenGL或者WebGL的坐标系与WebGPU的不同,WebGL的原点是左下角,而DX12和Vulkan,也就是WebGPU的坐标原点都是左上角,如果你把webgl的代码放到webgpu的话,就需要转换坐标,可以在shader把UV的值改一下,比如uv.y = 1 - uv.y

        另外,gl.pixelStore只是改变了你上传texture的顺序,但是整个屏幕空间的坐标是不对应的,后面如果还需要处理比如render target,那么问题还会存在

        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