WebGPU | 相关API使用例子

 | 这篇博客我会持续更新,因为目前WebGPU标准仍在更新阶段,不稳定, 主要是参照标准API,举出例子,因为WebGPU标准介绍是在太难懂了,我按照一些实现WebGPU的代码例子,把各模块功能调用的语法总结出来,供之后编程参考使用。

 

检查是否支持GPU:<!navigator.gpu>

 

const checkgpu = ()=>{
     let result ='ok,你的浏览器支持WebGPU'; 
     if(!navigator.gpu){
         result ='no,你对浏览器不支持WebGPU'
    }
    return result;
}

对adapter是否支持的另一种写法
if (!navigator.gpu) throw Error("WebGPU not supported.");   //检查浏览器是否支持WebGPU,如果不支持会显示这个打印

const adapter = await navigator.gpu.requestAdapter();    //检查适配器支持情况,如果不支持显示这个打印
if (!adapter) throw Error("Couldn’t request WebGPU adapter.");

const device = await adapter.requestDevice();          //检查GPU设备是否正确支持,如果不支持显示这个打印
if (!device) throw Error("Couldn’t request WebGPU logical device.");

 

 

 

 

计算管道和渲染管道:<ComputePipeline : RenderPipeline>

const module = device.createShaderModule({    //渲染管线示例
  code: `
    @stage(compute) @workgroup_size(64)
    fn main() {
      // Pointless!
    }
  `,
});

const pipeline = device.createComputePipeline({   //计算管线示例
  compute: {
    module,
    entryPoint: "main",
  },
});

 

 

 

 

posted @ 2022-03-10 17:16  支阿怪🔥  阅读(258)  评论(0编辑  收藏  举报