问题标签 [glsles]

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.

0 投票
3 回答
105 浏览

ios - 包含上限值的浮点模运算符

我需要一个没有if-else语句的高效 glsl 代码。目前算法是这样的:

它与浮点模运算符类似:

只是if a == 1,应该return 1,而不是0

没有怎么做if-else呢?

谢谢

0 投票
1 回答
2319 浏览

android - 如何获得更多有用的 GLSL 编译错误?

我正在尝试在 Android 上学习 OpenGL ES,但有一件事让这变得相当令人沮丧和困难。我无法从 GLSL 编译器获得任何可用的错误消息。当你除了“它编译”和“它不编译”之外没有得到任何有用的反馈时学习 GLSL 是相当困难的。

我发现它glGetProgramInfoLog应该包含来自编译器的错误,但我唯一能摆脱的就是类似

由于片段着色器无效,链接失败。

我是在使用正确的命令来获取编译器错误,还是应该使用不同的命令?是否有可能从 GLSL 编译器获得更有意义的错误消息?

我在 Android 4.3 和 Nexus 10 上使用 OpenGL ES 3.0 作为目标。

0 投票
1 回答
2629 浏览

android - 将“uniform sampler2D”传递给 libgdx 中的 glsl 着色器(使用 modelBatch)

我无法将 sampler2d 制服从我的代码传递到着色器。我的着色器中有这一行:

在代码中,我使用在搅拌机中创建的 g3db 模型(带有纹理):

我使用 modelBatch 渲染它:

我的代码中有着色器类,其中有一个渲染方法:

我会很高兴得到任何回应。谢谢!

0 投票
1 回答
295 浏览

android - OpenGL 2D介绍Android

我正在关注使用 OpenGL 在 android 上开发 2D 游戏的真正完整教程,我遇到了以下问题

我是 OpenGL 的新手,所以我想知道该代码是什么意思?或者我在哪里可以阅读更多关于它的信息。

我还阅读了有关 GL 程序的信息,我也想知道那是什么。

0 投票
1 回答
367 浏览

opengl-es - 没有属性的顶点着色器

我们可以有没有属性的垂直着色器吗?

0 投票
1 回答
1186 浏览

ios - 为什么 1.0 的纹理坐标会超出纹理的边缘?

我正在使用纹理进行颜色查找以将效果应用于图片。我的查找是使用第一个纹理片段的亮度的渐变映射,然后在第二个纹理上查找。第二个纹理是 256x256,渐变是水平的,从上到下有几个不同的渐变。所以 32 个水平条纹,每个 8 像素高。我在 x 上查找的是亮度,在 y 上查找的是渐变,我以条纹的中心为目标以避免交叉。

我的片段着色器如下所示:

它工作得很好,但我在白人的最白部分和黑人的最黑部分得到了失真。基本上,它看起来像是从纹理 2 上完全不同的位置抓取了 newColor,或者可能只是对这些片段一无所获。我在着色器中添加了夹子以防止它超出查找纹理的边缘,但这并没有帮助。我没有正确使用夹子吗?

最后我认为它可能与我的源纹理或它的加载方式有关。我最终通过添加来修复它:

所以为什么?

必须钳制纹理有点烦人,因为这意味着我在加载查找表时必须在代码中编写异常..

如果我的 textPos.x 和 .y 被限制在 0-1.. 它是如何将样本拉出边缘的?

另外..在创建纹理时是否必须使用上述钳位调用,还是在即将使用纹理时调用它?

0 投票
1 回答
5151 浏览

opengl-es - 写入 gl_FragColor 会导致 Android 上的 INVALID_OPERATION

我正在尝试为 NDK 掌握 OGLES2 并坚持使用 GLSL 着色器。情况与这里已经强调的情况相似,但背后的原因似乎有些不同。

我有最简单的着色器。

顶点:

分段:

简单直接。我什至在剪辑空间中直接定义我的三角形。当我在我的 Android 403 设备上运行应用程序时,VS 源代码中的starred( ***) 行glUseProgram调用抛出GL_INVALID_OPERATION错误(所有后续glGetAttribLocation调用都这样做)。gl_FragColor我可以在 FS中写入(一些硬编码vec4值),但甚至无法触摸VS中的gl_FrontColor/值。gl_BackColor

我在着色器编译和链接期间检查了所有可能的错误(glGetErrorglGetShaderInfoLog),那里的一切都很清楚。

当我将我的 OGL 实现切换到 JOGL 时,该应用程序在 Windows 上运行良好(所有引导和渲染代码保持不变)。我什至可以使用包含颜色的顶点属性,完全没有问题。

有没有办法解决这种行为?我不相信 Android OGLES 实现有那么病态,可能我只是缺少它的一些功能......

0 投票
1 回答
301 浏览

android - ZTE Android 4.0.4 版本的着色器损坏

我在编译已经在数十个设备上编译但不是在 1 或 2 个特定设备上编译的着色器时遇到了这个烦人的问题

我正在尝试使用以下方法加载片段着色器:

但我不断崩溃日志:

我虽然 GLSL 版本在编译着色器时可能有问题,但从查看它的版本我看到其他具有相同 GLSL 版本的设备已经成功编译它。

OpenGL驱动程序详细信息中的错误是:

中兴4.0.4

0 投票
0 回答
110 浏览

ios - ios opengles glsl 纹理

如果我在场景中有 5 个 3D 网格,具有 5 个单独的纹理贴图和 5 个单独的法线贴图,这是否意味着我必须将所有这 10 个纹理绑定到顶点着色器和片段着色器?如果是这样,现实世界如何实践来优化这个场景?

0 投票
0 回答
544 浏览

opengl-es - 如何解决缺少 EXT_shader_texture_lod 的问题?

我对该主题进行了一些研究,似乎在 GLES 2.0 + GLSL 上答案是“不可能的”,但我还是敢再问一次。

在我的代码中,LOD 不仅取决于与相机的距离(此外,这种依赖性是不寻常的),还取决于相机的俯仰角。到目前为止,使用常规 LOD 计算方法来模拟这种行为似乎是不可能的。但我希望我真的错过了什么。代码可在此处获得 https://github.com/osmandapp/OsmAnd-core/blob/master/src/Map/OpenGL_Common/AtlasMapRenderer_OpenGL_Common.cpp#L226