问题标签 [pixel-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.
c - CGFX着色器多次输出顶点数据
如何多次从顶点着色器输出到像素着色器。例如,在对顶点着色器中的顶点颜色执行一些不同的数学运算后,我需要将顶点颜色作为浮点数 4 输出到像素着色器 4 次?
我可以这样做吗?我尝试创建一个空的 float4 color2,从 In.color 读取 In.vertcolor 并输出...我没有收到任何错误,但我的纹理是白色的。它只是读取任何空的浮点数 4 ......
这是我本节的代码。谢谢!
glsl - 在像素着色器中可以实现什么样的模糊?
高斯、框、径向、定向、运动模糊、缩放模糊等
我读到高斯模糊可以在可以在像素着色器中实现的通道中分解,但找不到任何样本。
是否可以假设任何与自身以外的像素相关的效果都不能在像素着色器中实现?
c# - WPF 效果在哪里定义?
我想知道 WPF 效果如在哪里Blur
定义?它们是像素着色器,对吧?有没有办法窥探他们的实施?
c# - C#中的像素着色
我希望我的第一篇文章不会犯第一个错误。
我正在为几个图形效果和过滤器(例如 Sobel 或 Gauß mask)编写一个库。由于速度低,在 CPU 上执行此操作,我使用 Shazzam 工具编写了一些着色器。
我的具体问题是,我无法在 C# 中使用这个着色器。在互联网上,我只找到了如何将像素着色器作为 XAML 中的效果直接应用于元素的建议,这对我的应用程序不可用,因为这使得无法在一个图像上应用多个着色器,这是必需的,例如Canny 边缘检测器。
为了说明这个问题,一个小伪代码应该显示,我对该方法的期望。
如您所见,一切都应该在 C# 中完成。
也许你可以帮我解决我的问题。
c# - 应用着色器效果后图片模糊
我在 WPF 中遇到了像素着色器的奇怪行为。
这个问题是 100% 可重现的,所以我写了一个小演示程序。你可以在这里下载源代码。
万恶之源是一个名为 MyFrameworkElement 的小类:
如您所见,此框架元素呈现 2 行:下一行具有永久坐标,但上一行取决于 EndX 依赖属性。
所以这个框架元素是像素着色器效果的目标。为简单起见,我使用在这里找到的灰度着色器效果。所以我将 GrayscaleEffect 应用于 MyFrameworkElement。你可以看到结果,它看起来不错。
直到我大幅增加 EndX 属性。
小线模糊,大线没问题!
但是如果我删除灰度效果,所有的线条都会看起来像它们应该的那样。
任何人都可以解释这种模糊的原因是什么?或者更好的是如何解决这个问题?
c# - 托管 DirectX:将 HLSL 效果应用于表面
首先,我是一个完整的 DirectX 菜鸟。我正在将位图加载到表面中,并且需要在显示之前对其应用 HLSL 效果。目标是在图像上显示实时效果。无论出于何种原因,图像显示但没有效果。
我认为这可能与我将表面拉伸到后缓冲区并规避效果有关,但我不知道如何解决它。最终,这个表面将包含一个立体图像对加上 Nvidia 的立体图像签名,以便它与 3D Vision 一起使用。虽然这对这个问题无关紧要,但它可以解释为什么我使用表面,而其他方法可能更好。
这是我的代码:
在表格中:
在着色器中:
image-processing - 使用 DirectX HLSL 像素着色器为照片创建图像效果
是否可以使用 DirectX 像素着色器为照片创建图像效果?我有一个 C++ 应用程序,其中包括一种照片数据库管理器。它利用 GDI+ 进行图像处理,我想为用户提供一些精美的图像效果——我想通过 DirectX 像素着色器来实现。我想实现类似的效果,例如 Shazzam 工具通过其示例库提供开箱即用的效果 - 不幸的是,我使用的是纯 GDI+ 而没有 WPF。
为了在 GDI+ 位图中创建图像效果,我想到了以下步骤:
1) 通过 GDI+ 加载图像
2) 初始化 DirectX,加载/编译着色器,将 GDI+ 图像转换为 DirectX 中的纹理
3) 在 DirectX 中绘制 4 个顶点并将照片用作纹理
4) 应用像素着色器
5)用像素着色照片保存表面
1-4 已经解决了,但是如何实现第 5 步呢?
目前我正在使用以下代码段来收集修改后的照片:
这段代码不符合我的需要,因为它捕获了整个场景而不仅仅是纹理(=照片)。我怎样才能将像素着色的照片纹理恢复到原始大小?我想获得与 Shazzam Tool 提供的相同的结果,但没有 WPF ......
先感谢您!
干杯!
wpf - 如何在 wpf 中获取 ShaderEffect 的 SamplerProperties?
在 WPF 中,在定义 ShaderEffects 时,我们使用
引入像素着色器采样器属性(馈送到实际像素着色器的属性,并且属于画笔类型);但是如何从 ShaderEffect 类中检索这些属性呢?
actionscript-3 - 像素弯曲器 4 色着色器
我没有使用 Pixel Bender 的经验,并且着色语言对我来说似乎是胡言乱语,所以我想知道是否有人可以帮助我重写以下 as3 代码以用作 Pixel Bender 过滤器/着色器。它的工作方式是我想将 16777215 种颜色转换为我在调色板数组中定义的 4 种色调(首先是最浅的颜色,最后是最深的颜色)。结果令人满意,但性能很差,这就是我想做一个过滤器的原因。这是代码:(sbitmap 是我库中的图像)
这是我得到的结果:http: //fc05.deviantart.net/fs70/f/2012/243/c/6/screen_shot_2012_08_30_at_1_19_10_pm_by_johnjensen-d5d1ms3.png
xna-4.0 - 如何在 XNA 4.0 中将 Texture2D 对象传递给像素着色器?
我想捕获每一帧并根据查找表更改每个像素的位置。例如像素 (30,35) -> (40,50) 等等。
所以我所做的是通过 RenderTarget2D 捕获一帧并遍历每个像素并在新的位图数组中设置每个像素的新位置。但是由于 RenderTarget2D.GetColor 方法的影响,这降低了性能。
所以我认为Pixel Shader可能是解决方案:在Draw方法中:1.绘制一个简单的框架2.通过RenderTarget2D捕获它3.然后通过着色器绘制模型
但是在着色器内部,我需要访问刚刚捕获的 Texture2D 以及查找表以读取映射的像素位置。如何将这些变量传递给着色器?
编辑:这是 Draw() 方法中的代码,但我看不出为什么没有对模型应用任何更改