问题标签 [webgl2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
picking - 保证对整数纹理不进行抗锯齿渲染
对于 WebGL 2 画布,我需要一个简单的“拾取”系统,即在 2D 中给定一个点p,系统可以判断哪个对象(如果有)被渲染到p。(我不需要 CPU 中的选择结果,只需要在着色器中。)
为了实现这一点,每个对象都将使用不同的“颜色 id”渲染到专用于拾取的帧缓冲区。我正在考虑使用 R16UI 或 R32UI 纹理格式和 GL_NEAREST 过滤。我关心的是抗锯齿:我如何保证对象的边缘不会被抗锯齿,从而改变输出值,破坏拾取系统?
我正在寻找禁用抗锯齿的代码,以及从了解标准的人那里得到/不能保证的解释。
react-native - 实时预览的颜色直方图
我一直在尝试使用 GPU 从图片(实际上是实时相机预览)生成颜色直方图,因此opengl-es
. 我遇到了GPUImage
包含histogram filter的库。我不能直接使用这个库,因为我正在使用react-native
Expo's GLView
(如此处所述),并且我不想处理本机代码。
话虽如此,我应该能够调整代码以使用WebGL API
由GLView
. 我一直试图做到这一点,但检索到的直方图数据只包含“黑色像素”。
定义着色器:
辅助函数(供参考)
在里面
渲染循环
直方图数据仅包含零(而相机像素数据是有效/非零值)。错误可能在帧缓冲区附近;在“模型”中,帧缓冲区有一个定义的大小,但我看不到如何转置它。(错误也可能来自其他地方)。
web - 网络总帐。带有纹理变化的缓慢渲染
我正在使用empscripten。经过几次测试,我得出的结论是,如果我绘制 500 个相同的纹理,一切正常。但是如果我绘制 2 个不同的纹理 500 次,我会在 CPU 上承受很大的负担。14 对 60% 在 osx 上。在 windows 中,几乎相同的问题(6 对 16%),只是差异很小。两种纹理的大小均为 2x2 像素。
我可以以某种方式优化它吗?
opengl-es - 什么是 OpenGL 和 WebGL2 中的顶点数组?
我使用 WebGL1 已经有一段时间了,但现在我正在学习更多关于 WebGL2 的知识,我很困惑Vertex Array
s 的实际作用。例如,在下面的示例中,我可以删除对它们的所有引用(例如创建、绑定、删除)并且示例继续工作。
opengl-es - WebGL2 是否自动内置了抗锯齿功能?
我一直在阅读这些示例的源代码,并且继续看到此选项,但是,我无法找到任何地方是否支持此功能。您是否只需antialias
打开此标志即可获得?有关此功能的更多详细信息吗?
opengl-es - WebGL2 中的布局限定符如何优于 getAttribLocation?
随着我对 WebGL2 的更多了解,我在着色器中遇到了这种新语法,您可以location
通过以下方式在着色器内部设置:layout (location=0) in vec4 a_Position;
. attribute
这与使用传统方法获取位置相比如何gl.getAttribLocation('a_Position');
. 我认为它更快?还有其他原因吗?另外,将位置设置为整数更好还是也可以使用字符串?
webgl - WebGL 2.0 兼容性?
我如何了解具有某些 GPU 的 PC 是否支持 WebGL 2.0?感谢您是否可以提供任何有用的链接到经过验证的文档。