问题标签 [fragment-shader]
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.
glsl - GLSL 可重用/共享函数、共享常量(OpenGL ES 2.0)?
短的:
我可以定义一个每个着色器都可以使用的函数吗?或者我必须为每个着色器定义它?
整个故事:
我想创建许多着色器,旨在使用预定义的渐变渐变为输入片段着色(类似这样的东西 - http://www.thinkboxsoftware.com/storage/krakatoa-support-images/krakatoa15_kcm_densitybyage_gradientrampmap.png)。
我想为每个着色器定义一个渐变斜坡常数(一个vec4颜色样本数组,其中alpha值保存渐变位置,参见上图中的Pos)
我需要一个函数,它可以从给定的渐变渐变中返回一个颜色样本,用于特定的纹理坐标位置。
因此,斜坡需要为每个着色器定义一次,并且应该一次性定义所有着色器可以安全使用的函数。
我有算法,问题是共享函数,并在 GLSL 中定义常量。
这可能吗?或者我必须将函数复制到每个着色器中?至少有一些预编译选项吗?
iphone - 如何在 GLSL (OpenGL ES 2.0) 中定义常量数组?
我只想存储每个片段计算所需的权重数组。
这:
只是抛出这个:
opengl - GLSL 宏扩展可以做到这一点吗?
考虑以下 GLSL 函数:
... 等等。有没有办法#define一个 GLSL 宏,它可以在编译时生成n个f乘法,当然不使用内置的 GLSL pow()函数?
iphone - GLSL pow 函数?
我有这个:
并且不工作,声称:
错误:0:53:调用函数“pow”没有匹配的重载
我做错什么了吗?使用 OpenGL ES 2.0 为 iOS 开发。
opengl-es - GLSL OpenGL ES 2.0 (iOS) 中是否有噪声函数?
或者任何对应物?如何生成便宜的随机数?
google-chrome - Radeon IGP 340m 上的 Chrome WebGL 片段着色器
我有一台带有 Radeon IGP 340m 显卡的旧机器。根据制造规范,它只支持 OpenGL 1.3,不支持片段着色器,但是当我在这里运行一些 WebGL 应用程序时:http: //glsl.heroku.com/(需要片段着色器版本 120+)它运行成功但稍慢。我不明白谷歌浏览器如何做到这一点?它是在软件中编译和运行着色器吗?
opengl - 如何从片段着色器中向浮点纹理添加值?
在 GLSL 中是否可以从片段着色器中添加到浮点纹理?
例如,如果我只想知道为一个像素调用片段着色器的频率,我可以编写一个片段着色器,只将 1 加到相应的浮点纹理像素上吗?
因为我只找到了如何设置输出值,然后只是覆盖旧值或以某种方式混合,我认为这是加权乘法,不能用于加法。
glsl - GLSL ES 中的统一与属性
我有一些参数从 CPU 传递到 GPU,这些参数对于所有片段都是恒定的,但在每一帧上都会发生变化(我使用的是 GLSL ES 1.1)。我应该为这些值使用制服或属性吗?属性可能因顶点而异,因此我的直觉是,将属性用于在整个帧中保持不变的值将是低效的。但是,我读过制服是针对“相对不经常”变化的值,这表明在每一帧上更换制服可能效率低下。
在硬件方面,我最感兴趣的是针对 iPhone 4S 进行优化。
ios - 具有多个输出的 iOS 片段着色器
是否可以在 iOS 下编写 GLSL ES 片段着色器来生成多个 RGB 输出并且(例如)一个发送到屏幕,一个发送到纹理?
在正常的 GLSL 下,我想这可以通过从片段着色器写入 gl_FragColor[i] 来完成。但是,GLSL ES 2.0 似乎只支持单色输出。
android - OpenGL 2d 水模拟
我正在使用 opengl2 es 为 android 开发游戏 ii 想要这样的效果: https ://lh6.ggpht.com/RF0R32tKjDhQcjNTtW51xd-giuXp-FlsDJaqscilDetI7cMpNQwUDjCryT2qyyBzT6PZ
我想灯光是用法线贴图完成的(我说的对吗?)
但我认为在 behing 纹理上存在某种类型的失真,以模拟 de 波。
我可以使用哪个数学函数来模拟图像中出现的噪声?
谢谢