问题标签 [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 投票
1 回答
650 浏览

ios - 如何在 GLSL 中进行一些每帧只发生一次的计算?

我想预先计算每次调用片段着色器时要使用的一些值。我该怎么做/在哪里做?我正在使用全屏四边形,四个顶点。

0 投票
1 回答
647 浏览

glsl - glsl 如果无穷大乘以 0 会发生什么?

在我的 glsl 顶点着色器中,假设我有以下代码:

现在 len 是无穷大。如果我将它乘以 0 会发生什么?结果是保持“无穷大”还是变为0?换句话说,如果无穷大乘以 0 会发生什么?数学上应该是0...

0 投票
1 回答
4129 浏览

android - gls es dFdx/dFdy 模拟

我正在编写跨平台应用程序。它应该在 Android 设备上运行。
我想使用 dFdx/dFdy 进行抗锯齿。但是,不幸的是, glsl es 2.0 不支持衍生产品。

我可以用一些东西替换 dFdx/dFdy 吗?IE 1/sprite_width, 1/sprite_height 以屏幕像素为单位。

正如我所说,我需要它才能在 android 设备上工作。我看到我的设备支持 GL_OES_standard_derivatives,它允许它使用这些功能。所有的android opengl es 2.0 设备都支持吗?

0 投票
1 回答
1113 浏览

android - 顶点着色器无法编译。找不到错误

编辑:

似乎错误是,我不允许在单独的线程中编译着色器?由于我刚才一直将对象加载推送到线程环境中,因此出现了错误消息。只是没想到这可能是它的原因。


我当前的顶点着色器由于某种原因无法编译。我收到的错误消息不存在,我找不到错误。

这个的片段着色器是:

“尝试”获取错误消息:

从方法返回一个空字符串,以及

只是返回 0。

我正在为 Android 的 OpenGL ES 2.0 开发,如果有任何我不知道的 Android 限制?

感谢您的任何帮助!

0 投票
2 回答
9380 浏览

glsl - glsl es 2.0 逆矩阵

glsl es 2.0 中没有反向命令
但我看到我可以 1.0/mat2 。但我担心它只会明智地划分组件。或不?
但如果是这样,有什么诀窍吗(快速获得 1/det)?

0 投票
1 回答
585 浏览

three.js - three.js 法线贴图渲染方式不同 windows/mac

我有一个我写的着色器,使用 3ds max 生成的法线贴图。我在windows上得到了无缝的结果 ,但我在 mac 上看到了接缝。这可能与我开发法线贴图的directon有关(但我再次相信我在opengl模式下运行chrome),还是某种精度问题?有没有什么方法可以在没有 mac 的情况下进行调试?

根据下面的 gmans 答案,我添加了

链接在这里

webgl法线贴图接缝

0 投票
1 回答
853 浏览

opengl - Quartz Composer 中的 glsl 着色器

我试图让这个着色器在 Quartz Composer 中工作

当我将此着色器的代码复制到Fragment Shader补丁GLSL Shader中时, error: input of fragment shader 'surfacePosition' not written by vertex shader

那么我需要填写顶点着色器而不是默认值吗?

0 投票
0 回答
255 浏览

matrix - 在对偶四元数之间进行插值时出现严重伪影

我在实现双四元数蒙皮时遇到问题。我还在学习这个主题,所以目前我正在从骨骼矩阵转换为双四元数 CPU 端,然后再转换回着色器中的矩阵。

转换显然适用于单个骨骼,但如果我尝试在双四元数之间线性混合,我会得到这个工件:http: //imagizer.imageshack.us/a/img838/8671/nun.gif 我不知道这是什么原因造成的。也许这与我如何规范化对偶四元数有关,也许与我如何从对偶四元数转换为矩阵有关。我试过搜索实际的双四元数代码,但我发现的只是一堆难以阅读的数学定义。

我包含了一些着色器代码,因为我很确定这就是问题所在。希望精通四元数数学的人可以看穿它!

混合双四元数。Boneweight2 = (1.0 - boneweight1),所以它们总和为 1。

从对偶四元数创建矩阵:

然后我将它与绑定姿势顶点位置相乘。

0 投票
2 回答
278 浏览

opengl - 为什么是模型视图矩阵?

如果这是一个愚蠢的问题,我很抱歉,但我一直想知道为什么有这么多示例顶点着色器,其中包含模型视图矩阵。在我的程序中,我有以下情况:

  • 投影矩阵几乎不会改变(例如在调整应用程序窗口大小时)并且它是独立的,这很好,
  • 模型矩阵经常变化(例如模型上的变换),
  • 视图矩阵也经常变化(例如,改变观察方向,四处移动,...)。

如果我要在顶点着色器中使用模型视图矩阵,我必须在 CPU 上执行矩阵乘法并上传单个矩阵。另一种方法是上传模型和视图矩阵并在 GPU 上进行乘法运算。关键是,视图矩阵不一定与模型矩阵同时发生变化,但如果使用模型视图矩阵,则每当它们中的任何一个发生变化时,都必须执行 CPU 乘法和上传。为什么不使用单独的视图和模型矩阵来实现快速的 GPU 乘法并且可能大约相同数量的 GPU 矩阵上传?

0 投票
4 回答
1059 浏览

ios - 前两个片段着色器输出不同

我目前正在尝试让这个散景着色器与 GPUImage 一起使用:http://blenderartists.org/forum/showthread.php?237488-GLSL-depth-of-field-with-bokeh-v2-4-(update)

这就是我目前所拥有的:

这是我的散景滤镜,GPUImageTwoInputFilter 的子类:

最后,这就是我使用上述过滤器的方式:

第一个图像是我要模糊的那个,第二个是随机渐变来测试着色器的深度图的东西:

石头 背景虚化遮罩

当我在我的 iPhone 上启动应用程序时,我得到了这个:

奇怪的着色器结果 1

移动滑块(触发 dataInputChanged 方法)后,我得到这个:

奇怪的着色器结果 2,壮举。 对角噪声线

虽然这看起来比第一张图片要好得多,但我仍然有一些问题:

  1. 有一条对角噪声线(在我放在图片上的红线内)似乎不模糊。
  2. 图像的左上角是模糊的,尽管它不应该如此。

为什么我会出现这种奇怪的行为?着色器输出不应该每次都相同吗?另外,我如何让它尊重深度图?我的 GLSL 着色器知识非常有限,所以请耐心等待。