Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
有关WebGPU引擎的技术分析与探讨,包括引擎设计,编辑器,GFX,Shader语言编译器,3D文件转换器等。
@shuangliu 无法将模型文件打到包里
@shuangliu 感谢回答,用本机nginx发布,手绘的立方体正常,但glb模型文件打包没好使,提示 invalid GLB file
如何提供模型文件个你们呢?
感谢反馈,类似的读取像素或截屏的API会在后续版本中加入
不过,WebGPU 对于 CPU 和 GPU 的数据读写速度可能并不会有额外的帮助。Three 中也是使用 WebGL/2 原生 readPixels 将渲染贴图buffer copy到 CPU/JS 中,这其中 Three 并没有添加额外的处理导致额外的时间,最终传输速度基本取决于设备的 GPU 到 CPU 的物理读取带宽。
使用 WebGPU 并不会加速这一过程,WebGPU 能带来的优势是异步IO,也就是将 readRenderTargetPixels 变成异步读取,减少阻塞主线程的渲染,所消耗的整体时间不一定比 WebGL 快,但主线程渲染帧率不会出现明显掉帧,不会出现ui卡顿,整体体验会好一些
看看后期处理TAA,不过不得不说,加了后期处理后,页面肉眼可见的变卡了,后期处理希望还要多优化
全局光照我们也会在稍后几版中加入
更新版本到0.6.2好了
感谢您的回复,我看到目前的示例中已更新。
@shuangliu 好的感谢
@bestsam 我虽然没用orillusion 引擎,但引擎中也使用了webgpu, 跟 webgl 比, pipeline 和 bindgroup 资源管理有点闹心,尤其是bindgroup, 也就是vulkan 或dx中的描述符, 一旦涉及到场景中有动态更新的对象,这种东西在设计类软件中存在较多, 比如过程话的缩放对象(坐标轴、标注、、、)在屏幕空间中保持大下,会不断的创建描述符,但 webgpu 并没有提供手动回收的内存接口,导致内存占用越来越高,靠javascript gc 机制是不及时的,最后out of memory 就白屏了。管理好内存资源确实是挑战。
@wslyx 我目前在已有的引擎上接入了 webgpu, 用wasm 的形式, 发现比webgl 会占用更多的内存,毕竟要自己创建和管理各种管线资源,尤其 pipeline 和 bindgroup 这些资源。开销主要集中在 wasm 与 js api 的调用上,如果不是利用webgpu 的多线程命令缓冲区的形式构建多线程渲染, 感觉还不如 webgl。 原生效率差多少就得看 dawn 是不是靠谱了。
@aichangqing 只是还没计划吧,webgl对与cesium这种大型的gis引擎来说,简直就是慢性毒药啊,官方不可能不知道
@jkwang007 0.6.2已修复removeChild相关bug
gltf生态非常复杂,有很多扩展,我们目前的gltf解析只支持一部分,一些模型当前版本可能无法解析,后续会慢慢支持相关扩展
如果方便,您可以提供一下gltf模型,我们看一下具体问题,可以加快我们对gltf解析的开发工作
当然版本还没有加入 line,后续加入更多的geometry 类型
最好能有个完整示例,这段代码单看是没问题,用法正确,但没有完整示例,无法验证xyz具体位置是否正确,从效果上看,可能是计算的位置不正确
请发一下代码,文档中使用的就是最新0.6.1的package,如果方便可以提供 Codepen 链接 https://codepen.io/pen?template=QWQrRmr