问题标签 [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.
iphone - 在 CVImageBuffer 上运行多个 OpenGL 着色器
关于我之前的两个问题,我花了一周的时间试图弄清楚如何针对核心视频缓冲区运行多个着色器。我知道我需要做什么,但坦率地说,我无法让代码工作(下面粘贴的是原始的非 ping-pong 版本)。
缺乏尤里卡时刻,我现在完全陷入困境:)。为简洁起见,没有显示编译和链接着色器的代码。整个事情渲染(成功 - 但一个着色器覆盖了另一个 - 所以错过了重要的步骤)到一个 GL 兼容层,并且在它下面有一个 UIToolbar,最终,每个着色器都有一个按钮和一个运行所有着色器的按钮。
谢谢,
西蒙
编辑:澄清缺少的内容
opengl - 启用/禁用片段和垂直着色器
目前我正在使用
和
但它没有正确切换回来,并给我一个“无效操作glError”沿着这些线
正确/正确的做法是什么(启用/禁用着色器)?
[我的代码文件(已删除临时链接)][1]
c++ - glsl - 片段着色器(模糊)-> 黑屏
在过去的几天里,我一直在努力让它发挥作用,我真的开始变得绝望了。我将非常感谢您可能提出的建议。
我一直在尝试做的事情:
- 将场景渲染到 FBO
- 使用 glsl 着色器模糊附加的纹理
- 将生成的纹理渲染到屏幕对齐的四边形
问题:
如果我启用片段着色器(水平模糊),我确实会在第一帧左右渲染到我的四边形的模糊图像,之后它全是黑色的。
我怀疑我将纹理传递给着色器的方式有问题:
编辑: 还有一条信息:如果我删除 glUniform1i(glGetUniformLocation(horizontalBlurFragment.program, "RTScene"), 0); 我得到完全相同的结果。我猜这表明我的着色器永远不会获得任何纹理数据。
来源:
顶点着色器:
片段着色器:
渲染到 fbo:
(不在这里发布我的 ShaderLoader 源代码,因为使用更简单的着色器(切换颜色和诸如此类的东西)效果很好)
如果您认为错误出在其他地方,我很乐意发布一些额外的代码。
ios - 将vec2数组传递给片段着色器Opengl es 2.0
我正在尝试将 vec2 数组传递给片段着色器,但我似乎无法弄清楚如何。
在我的应用程序中,我有以下数组。
在我的片段着色器中,我试图像这样访问这些值
但是 fragcolor 并没有改变它应该像我硬编码它一样
任何想法如何将这些 vec2 值传递到着色器
提前致谢
loops - GLSL:哪个更优化?使用 CPU 上的循环或片段着色器中的循环进行乒乓操作?
我有一个片段着色器,它正在执行一个 for 循环,其中传递的次数作为一个统一的 int 变量传入。
我看到随着循环数量的增加,性能急剧下降。那么这是在片段着色器中执行循环计算的正确方法,还是我应该使用 2 个帧缓冲区附件之间的乒乓在 CPU 上执行循环?
我正在尝试乒乓球,但我只是想知道之前可能遇到过这件事的人的看法。
android - 为什么下面会拖累Fragment Shader的性能(Open GL ES 2.0)
我在片段着色器中有以下代码:
代码运行良好,但有趣的是,即使color_tint
我传入的都是错误的,上面的代码仍然会严重拖累性能。比较时:
Which the later one can achieve 40+ fps while the first one is about 18 fps. I double checked and all color_tint
passed in the first one are false so the block should never executed.
BTW, I am programming the above in Android 2.2 using GLES20.
Could any expert know what's wrong with the shader?
glsl - GLSL:顶点着色器到片段着色器没有变化
如何在不更改的情况下将数据从顶点着色器传输到片段着色器?我需要告诉顶点像素他们有这种颜色。这种颜色我只能在顶点着色器中获得。
opengl - 为什么一个四边形片段的所有四个片段都会被着色,即使多边形只覆盖其中一个?
为什么四边形片段的所有四个片段都会被着色(计算它们的颜色),例如,如果一个三角形(多边形)只覆盖其中一个?
opengl - OpenGL着色语言不同类型的变量(限定符)
我一直在使用 OpenGL 编写程序。最近,我开始学习 OpenGL 着色语言。我是新手;所以请在你的答案中详细说明。
我的问题是:
- GLSL 中有哪些不同类型的变量(限定符)?
- 它们是用来做什么的?
- 它们彼此有何不同?
我只熟悉从顶点着色器传递到片段着色器以在顶点之间插值的“变化”变量。除此之外,我什么都不知道。
opengl - 带有片段着色器的 OpenGL drawPixels
我对OpenGL管道感到困惑。我有一个 openGL 方法,我试图将 glDrawPixels 与片段着色器一起使用,所以我的代码如下所示:
在某些显卡上会应用着色器,但在其他显卡上则不会。我对nvidia没有问题,但是各种ATI卡有问题。这是ATI卡的错误吗?还是 nvidia 更灵活,我误解了管道?是否有解决此问题的替代方法(纹理映射除外)?
谢谢,杰夫