问题标签 [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.

0 投票
9 回答
5791 浏览

shader - 开始着色器开发

我想开始使用 Microsoft 的 XNA 进行一些游戏开发。其中一部分是着色器开发,但我不知道如何开始。我知道nVidia 的 FX Composer是开发着色器的好工具,但我没有找到太多有用和更新的内容来说明如何真正开始使用。

你会推荐什么教程?

0 投票
5 回答
3937 浏览

c# - 如何在 XNA 中将精灵着色为白色?

我认为仅使用 SpriteBatch 中的颜色设置是不可能的,所以我正在尝试制定一个简单的着色器,它将每个像素都设为白色,同时尊重像素的 alpha 值。

Joel Martinez 给出的答案看起来是对的,但是当我用 SpriteBatch 绘制精灵时,我该如何结合呢?

0 投票
1 回答
1576 浏览

opengl - 在 GPU 上计算图像相似度 [OpenGL/OcclusionQuery]

OpenGL。假设我已经绘制了一张图像,然后使用 XOR 绘制了第二张图像。现在我在某处有非黑色像素的黑色缓冲区,我读到我可以使用着色器来计算 GPU 上的黑色 [ rgb(0,0,0) ] 像素?

我还读到它必须与 OcclusionQuery 做一些事情。 http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt

有可能吗?怎么做?[任何编程语言]

如果您对如何通过 OpenGL/GPU 找到相似性有其他想法 - 那也很棒。

0 投票
1 回答
216 浏览

directx - MaxTextureRepeat 限制在什么时候发挥作用?

在 Direct3D 下执行像素着色器时,MaxTextureRepeat 对纹理坐标施加的限制是否仅在调用纹理查找函数(如 Tex2D())期间成为问题,或者它们是否会在着色器中访问纹理坐标时发挥作用?

我想知道是否可以通过在纹理坐标上调用 frac() 之类的东西来避免 MaxTextureRepeat 限制,然后再将它们传递给纹理查找函数。

0 投票
2 回答
1125 浏览

c# - 在离屏位图上应用 PixelShader

我目前正在尝试使用 .net 3.5 sp1 引入的 PixelShaders 来提高图像处理性能。一切都快得多,但直到我刚刚将效果应用于我的 wpf 表单中的某些元素,我实际上想避免。

我们有一堆图像处理功能,我想用像素着色器逐个替换一些其他的东西以获得一些性能。有没有办法将这样的像素着色器应用于 ImageSource 而不必显示它?

0 投票
2 回答
667 浏览

c# - glProgramStringARB 导致 GL_INVALID_OPERATION....或片段程序帮助

我正在尝试编写一个片段程序,该程序将采用纹理并将纹素固定在两个值之间。也就是说,如果最小值为 0.2,最大值为 0.6,则小于 0.2 的任何 texel 将变为 0,大于 0.6 的任何 texel 将变为 1.0,并且介于两者之间的所有值都将从 0 映射到 1.0。

我对 glProgramStringARB 的调用导致了 GL_INVALID_OPERATION。我似乎无法弄清楚为什么会这样。请帮忙。

这是我第一次尝试编写着色器,所以我不完全确定我在做什么。这是我的代码:

然后使用它,我执行以下操作:

0 投票
4 回答
11653 浏览

java - Jogl 着色器编程

我刚开始着色器编程(GLSL)并使用 RenderMonkey 创建了一些。现在我想在我的 java 代码中使用这个着色器。有没有我如何做到这一点的简单例子?

0 投票
1 回答
1463 浏览

shader - HLSL 中是否有任何 GLSL 的 ftransform() 翻译?

使用 GLSL 顶点着色器时,让着色器作为固定功能管道工作的一种方法是调用:

ftransform();

功能。HLSL 的顶点着色器有类似的功能吗?

谢谢

0 投票
4 回答
26039 浏览

opengl - 在 OpenGL 中,有没有办法获取着色器程序使用的所有制服和属性的列表?

我想获取着色器程序对象使用的所有制服和属性的列表。 glGetAttribLocation()&glGetUniformLocation()可用于将字符串映射到某个位置,但我真正想要的是字符串列表,而无需解析 glsl 代码。

注意:在 OpenGL 2.0glGetObjectParameteriv()中被替换为glGetProgramiv(). 枚举是GL_ACTIVE_UNIFORMS& GL_ACTIVE_ATTRIBUTES

0 投票
1 回答
800 浏览

graphics - 使用硬件生成的原语进行碰撞检测

有很多关于碰撞检测的文献,我已经阅读了至少足够多的部分,以便对大多数技术相当熟悉。但是,有一些事情一直困扰着我,我想,既然 StackOverflow 可以同时访问一大群聪明的头脑,我会先在这里问一下,然后再在书架上四处寻找。

在这个时代,越来越多的工作被委派给 GPU 而不是 CPU,在很多情况下这是一件好事。例如,有几何着色器可以创建新的几何图形,或者(稍微不那么新,但仍然很吸引人)顶点着色器,您可以通过一堆顶点访问它们,并且会从中产生一些优雅的东西。不过我正在考虑的是,由于这些原语仅存在于图形硬件上,您将如何使用这些原语执行可靠的碰撞检测?假设我有某种极其简化的网格,它在顶点着色器中被置换(我没有具体问题,我更喜欢这个想法,而且我还没有深入了解几何着色器)。

到目前为止,我考虑的是从合适的角度单独的“渲染”通道,或多或少地关闭阴影,也许是较低分辨率的网格,渲染我的第二个基元的内部(面向内翻转)以及我想要的网格针对网格进行测试并执行遮挡查询。如果网格完全被遮挡,则不会有交集。这当然需要我的第二个原语是凸的。

不知何故,我觉得随着基元数量的增加,这种测试将非常昂贵(即使可以直接剔除大部分)。还有其他人有其他想法或技术吗?我对opengl和cg比directx更熟悉,但是如果你在directx中有一些例子,我想我可以找出opengl对应的部分。

感谢所有想法,所以请集思广益。:)