问题标签 [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.
ios - 包含上限值的浮点模运算符
我需要一个没有if-else
语句的高效 glsl 代码。目前算法是这样的:
它与浮点模运算符类似:
只是if a == 1
,应该return 1
,而不是0
。
没有怎么做if-else
呢?
谢谢
android - 如何获得更多有用的 GLSL 编译错误?
我正在尝试在 Android 上学习 OpenGL ES,但有一件事让这变得相当令人沮丧和困难。我无法从 GLSL 编译器获得任何可用的错误消息。当你除了“它编译”和“它不编译”之外没有得到任何有用的反馈时学习 GLSL 是相当困难的。
我发现它glGetProgramInfoLog
应该包含来自编译器的错误,但我唯一能摆脱的就是类似
由于片段着色器无效,链接失败。
我是在使用正确的命令来获取编译器错误,还是应该使用不同的命令?是否有可能从 GLSL 编译器获得更有意义的错误消息?
我在 Android 4.3 和 Nexus 10 上使用 OpenGL ES 3.0 作为目标。
android - 将“uniform sampler2D”传递给 libgdx 中的 glsl 着色器(使用 modelBatch)
我无法将 sampler2d 制服从我的代码传递到着色器。我的着色器中有这一行:
在代码中,我使用在搅拌机中创建的 g3db 模型(带有纹理):
我使用 modelBatch 渲染它:
我的代码中有着色器类,其中有一个渲染方法:
我会很高兴得到任何回应。谢谢!
android - OpenGL 2D介绍Android
我正在关注使用 OpenGL 在 android 上开发 2D 游戏的真正完整教程,我遇到了以下问题
我是 OpenGL 的新手,所以我想知道该代码是什么意思?或者我在哪里可以阅读更多关于它的信息。
我还阅读了有关 GL 程序的信息,我也想知道那是什么。
opengl-es - 没有属性的顶点着色器
我们可以有没有属性的垂直着色器吗?
ios - 为什么 1.0 的纹理坐标会超出纹理的边缘?
我正在使用纹理进行颜色查找以将效果应用于图片。我的查找是使用第一个纹理片段的亮度的渐变映射,然后在第二个纹理上查找。第二个纹理是 256x256,渐变是水平的,从上到下有几个不同的渐变。所以 32 个水平条纹,每个 8 像素高。我在 x 上查找的是亮度,在 y 上查找的是渐变,我以条纹的中心为目标以避免交叉。
我的片段着色器如下所示:
它工作得很好,但我在白人的最白部分和黑人的最黑部分得到了失真。基本上,它看起来像是从纹理 2 上完全不同的位置抓取了 newColor,或者可能只是对这些片段一无所获。我在着色器中添加了夹子以防止它超出查找纹理的边缘,但这并没有帮助。我没有正确使用夹子吗?
最后我认为它可能与我的源纹理或它的加载方式有关。我最终通过添加来修复它:
所以为什么?
必须钳制纹理有点烦人,因为这意味着我在加载查找表时必须在代码中编写异常..
如果我的 textPos.x 和 .y 被限制在 0-1.. 它是如何将样本拉出边缘的?
另外..在创建纹理时是否必须使用上述钳位调用,还是在即将使用纹理时调用它?
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
我在着色器编译和链接期间检查了所有可能的错误(glGetError
和glGetShaderInfoLog
),那里的一切都很清楚。
当我将我的 OGL 实现切换到 JOGL 时,该应用程序在 Windows 上运行良好(所有引导和渲染代码保持不变)。我什至可以使用包含颜色的顶点属性,完全没有问题。
有没有办法解决这种行为?我不相信 Android OGLES 实现有那么病态,可能我只是缺少它的一些功能......
android - ZTE Android 4.0.4 版本的着色器损坏
我在编译已经在数十个设备上编译但不是在 1 或 2 个特定设备上编译的着色器时遇到了这个烦人的问题
我正在尝试使用以下方法加载片段着色器:
但我不断崩溃日志:
我虽然 GLSL 版本在编译着色器时可能有问题,但从查看它的版本我看到其他具有相同 GLSL 版本的设备已经成功编译它。
OpenGL驱动程序详细信息中的错误是:
中兴4.0.4
ios - ios opengles glsl 纹理
如果我在场景中有 5 个 3D 网格,具有 5 个单独的纹理贴图和 5 个单独的法线贴图,这是否意味着我必须将所有这 10 个纹理绑定到顶点着色器和片段着色器?如果是这样,现实世界如何实践来优化这个场景?
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