跳转至内容

0

在线

660

用户

193

主题

510

帖子

中文社区

有关WebGPU引擎的技术分析与探讨,包括引擎设计,编辑器,GFX,Shader语言编译器,3D文件转换器等。

153 主题 390 帖子
  • glb文件材质丢失

    2
    0 赞同
    2 帖子
    502 浏览

    请问 你那边有解决吗?

  • 用orillusion渲染瓦片地球

    3
    0 赞同
    3 帖子
    1k 浏览
    MrzhubingxinM

    @Scorpio-Gyh
    1.这个85°空洞是这个地图服务就这么大,像cesium这种解决方法是把这块从边缘拉伸补上的,这一块本身就是空洞的,你可以了解一下这种投影;
    2.剔除是相机和地球直接的距离,相机的旋转角度来剔除
    3.数据源你可以申请一下百度或者高德的地图开发平台

  • 0 赞同
    1 帖子
    324 浏览
    尚无回复
  • 获取不到模型动画

    2
    0 赞同
    2 帖子
    605 浏览
    shuangliuS

    感谢反馈,这个模型里的动画并不是 SkeletonAnimation 骨骼动画,目前引擎中 loadGltf 还没有对属性动画做处理,稍后版本会加入相关处理

  • 此主题已被删除!

    1
    0 赞同
    1 帖子
    9 浏览
    尚无回复
  • 加载的模型如何更换材质纹理

    5
    0 赞同
    5 帖子
    443 浏览
    shuangliuS

    嗯 这个是一个已知bug
    https://github.com/Orillusion/orillusion/issues/177
    稍后版本会解决这个问题

  • 你好,关于超过20G的模型的加载

    2
    0 赞同
    2 帖子
    769 浏览
    shuangliuS

    对于大模型,一般是无法直接加载到内存或显存里的,除非配置超大的显卡和内存,所以通常来说,需要配合后端的 模型预处理 和 实时网络分发 来进行大模型展示

    一般需要先将模型预处理成特殊的 分片 和 LOD 处理,比如 3dtiles 这种模型标准,常用于 GIS 类的应用,它会将整个模型进行坐标分片 和 lod 处理,再配合上层应用引擎进行选择性加载,比如只加载当前视口内的分片模型和lod,其它的模型会从内存和显存内剔除,根据视口的变换实时向服务器请求不同的分片模型,保证同一时间内引擎其实只加载了很小一部分,并不会全部加载 几十G 的内容

    Orillusion 当前版本还没有开发对类似 3dtiles 等主流分片模型的支持,但有计划开发相关的扩展支持,也计划会开发对模型进行分片处理的后端工具和服务,如果您有gis类的开发经验,也非常欢迎提交相关 pr

  • 加载大模型

    3
    0 赞同
    3 帖子
    1k 浏览
    shuangliuS

    glb是将所有文件都打包到了一起,有优点,也有缺点,一个大文件并不利于 web 网络加载和缓存,所以实践中,一般我们都建议使用 gltf 将所有文件分开打包,可以把一个模型拆分成多个独立的小文件,1个gltf,多个bin,和多个jpg/png... 贴图,一般每个文件都会小于50mb方便传输和缓存

    并且浏览器可以同时发起多个http请求,也就是把一个模型并行加载,使得整体下载时间相较于一个glb大幅度缩减,提升网络传输效率,当然前提条件是你的带宽和服务器带宽足够大

  • 发布项目的模型处理

    3
    0 赞同
    3 帖子
    427 浏览
    Z

    @shuangliu 无法将模型文件打到包里

  • vue打包发布

    3
    0 赞同
    3 帖子
    531 浏览
    Z

    @shuangliu 感谢回答,用本机nginx发布,手绘的立方体正常,但glb模型文件打包没好使,提示 invalid GLB file

  • gltf加载问题

    3
    0 赞同
    3 帖子
    873 浏览
    Y

    如何提供模型文件个你们呢?

  • 自定义shader,uniform值怎么定义和传递

    1
    0 赞同
    1 帖子
    355 浏览
    尚无回复
  • 0 赞同
    2 帖子
    206 浏览
    shuangliuS

    感谢反馈,类似的读取像素或截屏的API会在后续版本中加入

    不过,WebGPU 对于 CPU 和 GPU 的数据读写速度可能并不会有额外的帮助。Three 中也是使用 WebGL/2 原生 readPixels 将渲染贴图buffer copy到 CPU/JS 中,这其中 Three 并没有添加额外的处理导致额外的时间,最终传输速度基本取决于设备的 GPU 到 CPU 的物理读取带宽。

    使用 WebGPU 并不会加速这一过程,WebGPU 能带来的优势是异步IO,也就是将 readRenderTargetPixels 变成异步读取,减少阻塞主线程的渲染,所消耗的整体时间不一定比 WebGL 快,但主线程渲染帧率不会出现明显掉帧,不会出现ui卡顿,整体体验会好一些

  • 物体渲染抖动

    2
    0 赞同
    2 帖子
    506 浏览
    U

    看看后期处理TAA,不过不得不说,加了后期处理后,页面肉眼可见的变卡了,后期处理希望还要多优化

  • 0 赞同
    3 帖子
    233 浏览
    shuangliuS

    全局光照我们也会在稍后几版中加入

  • scene.addComponent(Stats);

    3
    0 赞同
    3 帖子
    587 浏览
    H

    更新版本到0.6.2好了

  • orillusion的视频材质,也许这样可以丝滑一些

    3
    1 赞同
    3 帖子
    680 浏览
    OldGongO

    感谢您的回复,我看到目前的示例中已更新。

  • 文档中没找到类似Threejs中BufferGeometry的api

    4
    1 赞同
    4 帖子
    538 浏览
    Mqian43M

    @shuangliu 好的感谢

  • 内存占用与闪屏

    2
    0 赞同
    2 帖子
    695 浏览
    goodgaG

    @bestsam 我虽然没用orillusion 引擎,但引擎中也使用了webgpu, 跟 webgl 比, pipeline 和 bindgroup 资源管理有点闹心,尤其是bindgroup, 也就是vulkan 或dx中的描述符, 一旦涉及到场景中有动态更新的对象,这种东西在设计类软件中存在较多, 比如过程话的缩放对象(坐标轴、标注、、、)在屏幕空间中保持大下,会不断的创建描述符,但 webgpu 并没有提供手动回收的内存接口,导致内存占用越来越高,靠javascript gc 机制是不及时的,最后out of memory 就白屏了。管理好内存资源确实是挑战。

  • 0 赞同
    2 帖子
    513 浏览
    goodgaG

    @wslyx 我目前在已有的引擎上接入了 webgpu, 用wasm 的形式, 发现比webgl 会占用更多的内存,毕竟要自己创建和管理各种管线资源,尤其 pipeline 和 bindgroup 这些资源。开销主要集中在 wasm 与 js api 的调用上,如果不是利用webgpu 的多线程命令缓冲区的形式构建多线程渲染, 感觉还不如 webgl。 原生效率差多少就得看 dawn 是不是靠谱了。