Questions tagged «pixel-shader»

3
什么时候计算着色器比像素着色器更有效地进行图像过滤?
图像过滤操作(例如模糊,SSAO,Bloom等)通常使用像素着色器和“聚集”操作完成,其中每个像素着色器调用都会发出许多纹理提取操作以访问相邻像素值,并计算单个像素的值结果。这种方法在理论上效率低下,因为完成了许多冗余提取:附近的着色器调用将重新提取许多相同的纹理像素。 另一种方法是使用计算着色器。这些具有的潜在优势是能够在一组着色器调用之间共享少量内存。例如,您可以让每个调用获取一个纹理元素并将其存储在共享内存中,然后从那里计算结果。这可能会或可能不会更快。 问题是在什么情况下(如果有的话)compute-shader方法实际上比pixel-shader方法更快?它是否取决于内核的大小,它是什么类型的过滤操作等?显然,答案从一个GPU型号到另一个GPU都不同,但是我很想听听是否存在任何普遍趋势。

3
当游戏可以直接绘制像素时,为什么我们拥有诸如OpenGL和DirectX之类的图形框架?
游戏和其他图形密集型应用程序使用诸如OpenGL和DirectX之类的框架。此外,它们还需要像素着色器和DX12等功能。 但是,当我们可以逐像素绘制所有内容时,为什么需要所有这些框架和GPU功能? 首先,游戏必须以某种方式进行编译,以便逐像素绘制游戏。这可能会使游戏的可执行文件更大,但是会更快并且可以在任何32位彩色GPU(甚至旧的)上运行吗? 我知道最初的3D游戏是逐像素绘制的,但是为什么现在不这样做呢?

1
调整发光着色器以使其看起来更好
我有一个简单的游戏,它的主题是这些小线条。它针对iOS和android,因此它具有可在其上运行的大量处理器。 我试图向他们添加实时发光有两个原因 我试图掩盖一个事实,我没有足够的渲染时间来处理大多数设备上的抗锯齿。 游戏的主题应该是纯光,因此应该使图片看起来像是纯光。 我已经调整了一个可分离的高斯模糊着色器一段时间了,但我感到很沮丧,只是无法正确显示,也许是我想徒劳地隐藏光线的锯齿边缘同时不要使光线看起来模糊。 我最大的问题是使它看起来最好的所有变量。 我是图形/渲染的新手,我绝对不是艺术家。向我借钱最令人沮丧的是似乎涉及的所有变量。有了辉光,我看到了很多可能的变化。 A.添加混合模式,屏幕混合模式或其他混合 B.对模糊进行加权,然后在合并之前对法线进行加权 C.高斯钟形函数的Sigma(我一直在使用这个 令人困惑的计算器,但它似乎并没有提供别人看到的相同值) D.标量发送到sigma函数的“ x”值 E.样本比例(使模糊半径变小或变大) F.更改发光缓冲区的分辨率 使用如此多的变量时,如何找到“最佳外观”常量? 我也遇到了问题,因为在我进行调整和看到它之间很难看到更改之间的时间,我会在着色器玩具中进行此操作,但是我无法加载此图像或通过程序生成类似的图像。 现在,我真的停留在高斯钟形曲线内核的sigma上,特别是因为我需要输入数字而不是公式,因为我需要处理器速度。您能建议使用一个好的sigma吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.