每当我向场景中添加如下所示的窄 3d object 时,我都会遇到一些不需要的伪像,例如对象表面上的重复纹理。 值得一提的是,在我将 object 的 receive shadow 属性切换为 true 之前,一切看起来都很好。 更准确地说,我创建了一个大小为 (0.35, 0.02, 0.15) ...
每当我向场景中添加如下所示的窄 3d object 时,我都会遇到一些不需要的伪像,例如对象表面上的重复纹理。 值得一提的是,在我将 object 的 receive shadow 属性切换为 true 之前,一切看起来都很好。 更准确地说,我创建了一个大小为 (0.35, 0.02, 0.15) ...
我用 Threejs 创建了一个投资组合网站。 发布后,我尝试在不同的浏览器和设备中访问它并且运行良好。 我与几个朋友分享了它以获得反馈,只有一个人回复了我这个奇怪的阴影纹理出现在整个 canvas 中。见下面的截图: 他在不同的浏览器、同一台设备上进行了尝试,得到了相同的结果。 这就是它应该的样子 ...
当我在一个空的舞台上拖动时,它移动得很好。 但是当我对我的孩子这样做时,它变得很烦人。 问题视频我想移动框并单击它们。 ...
在OpenGL中,采样纹理时,定位使用的精度或格式是多少? 详细说明:当在着色器中使用texture(sampler, vTextureCoordinates)进行采样时,例如precision highp float ,两个 float32+ go 中。但是,该精度用于对纹理进行采样,还是会降级 ...
我在 16 位纹理 uv 上得到了一个看起来像精度的问题。 这可能是常识, texture投射到标准化的 integer,但我找不到太多关于它的信息¹,对我来说也没有多大意义(为什么要在最后一步降低坐标?)。 在实际代码中(太长而无法显示),这会在放大太多时导致纹理渗出,远早于 float32 的预 ...
我在使用 Unity Unity 2022.1.24f1 和 WebGL 的生产环境中遇到了调试问题。 当发生异常时,我得到一个不可读的堆栈跟踪。 是这样的: 我无法为 prod 环境启用调试符号模式,是否有任何算法可以将此堆栈跟踪转换为真实的方法名称? 我发现 Library\Bee\artif ...
我有一个 model 并且严格要求预热时间 = 2s。 运行时速度现在对我们来说还可以。 我已经尝试设置 我打开了并行着色器编译。 但是还有4s左右的时间。 每个张量形状的单独着色器有助于加快运行时间,但会随着着色器数量的增加而减慢预热过程。 是否有任何当前可能的改进的完整列表要检查,我错过了什么 ...
我正在做一个 ThreeJs 项目,该项目需要在片段着色器中完成一些繁重的工作,所以我正在寻找一种方法来在设备无法处理工作时使用较低的质量。 纯属偶然,我最近在我的着色器代码中加入了一个“uint”制服,发现它无法在旧设备上运行。 因此,WebGL2 的可用性成为一个明显且好的开关。 问题是 Web ...
我知道MAX_TEXTURE_SIZE依赖于 GPU。 是否有关于哪些 GPU 支持各种最大纹理大小的信息? 或者,他们是否有任何报告MAX_TEXTURE_SIZE类的浏览器使用统计信息? 特别是,我希望了解设备在 2023 年支持至少8,192作为MAX_TEXTURE_SIZE的典型程度,超 ...
为了澄清我正在使用三个 JS,React-Three-Fiber,React 我有一个上面有点的圆盘,我计算了每个点到桌子中心的距离,并将结果存储在一个数组中。 我想将这个数组传递给着色器,但我很难理解如何去做。 我在文档中读到你也可以传递vec3,mat3,float本质上。 我的数组的长度为 1 ...
假设我有一个 GL 着色器,我想用作 HTML button背景(这是一个漂亮的动画渐变)。 我怎样才能做到这一点? 我可以考虑将背景设置为纹理并将着色器渲染到该纹理。 这从根本上可能吗? ...
我正在尝试为自己构建一个非常简单的框架,以通过多个视图管理绘图内容到同一个 webgl 画布并做出反应。 我希望能够在窗口的不同区域使用相同的资源,所以我尽量避免使用多个画布。 最终结果应该类似于three.js 中的示例。 我对如何从 html 端管理它感到很困惑,并且正在努力弄清楚是否应该考虑 ...
我正在尝试从 JS 调用统一脚本,但没有MyGameInstance ,如 Unity 文档中所示: https ://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html 这是 WebGL 由 Unity 的运行和构建 ...
我有一个项目,您在其中使用堆垛机。 这就是它在浏览器中的样子我想将来自 C# 代码的数据(例如所选 object 的名称等)发送到 webgl 索引 html,以在 data.table 所在的右侧显示数据。 我已经尝试使用 jslib 文件,但我无法真正保存我得到的数据,我只能显示一个警报,其中 ...
我总是黑屏TEXTURE_MIN_FILTER.= world.GL.gl.NEAREST world.GL.gl.activeTexture(world.GL.gl['TEXTURE' + t]); world.GL.gl.bindTexture(world.GL.gl. ...
WebGL 相当新,尽管我已经涉足它几个月了。 我刚刚遇到一个问题,试图在我的 WebGL 画布缓冲区中将透明像素混合到已经不透明的背景上。 题我如何绘制第二个矩形,使其与纯灰色混合,但它的 alpha 不会泄漏到画布缓冲区? 我不想在 WebGL 上下文中将alpha设置为 false,因为我的 ...
我正在使用mapbox-gl-js库使用他们的自定义样式层API 渲染一些自定义 WebGL 内容。但是,他们有一个问题,即 WebGL 内容在高缩放级别上会“闪烁”或“抖动”。 这显然是一个已知问题(此处、此处和此处),但尚未正式发布修复程序。 但是,我从这个 GitHub 评论中得到了一个示例, ...
我是 WebGL 和一般图形编程的初学者。 我正在尝试渲染程序生成的地形。 我的第一次尝试似乎奏效了,我得到了以下结果。 我想为此添加透视投影,但我最终得到的屏幕只有我的清晰颜色(在本例中为绿色)。 下面的代码用于使用 glmatrix 实现 javascript 中的透视矩阵: 这是我的顶点着 ...
画好三角形后想用readPixels方法获取像素信息,但是用下面的代码获取不到。 const gl = document.querySelector("canvas").getContext("webgl2", { preserveDrawingBuffer: true }); render(); ...
按照这个例子但是顶点着色器在 threejs v0.118.0 之后没有编译: https://codesandbox.io/s/shader-light-shadow-experiments-forked-5e14lh 您可以通过在侧边栏的依赖项部分中选择不同的三个版本来在 codesandbox ...