〓求 HLSL 高人制作一个最简单的 Pixel Shaders (回答有加分)〓

来源:百度知道 编辑:UC知道 时间:2024/09/22 01:00:08
要实现的效果就是亮度变为原来两倍,也就是 RGB 通道各乘上2
比如 RGB(0, 22, 16) --> RGB(0, 44, 32)

(有时候加法运算并不会比乘法快,从颜色分离出各个通道比较低效)
(图像是有 Alpha 通道的,但都是 255,也就是全部不透明)

因为这个 PS 是用在 Silverlight 中,(版本 3,不知是否支持所有版本的 PS)
而且目前 Silverlight 的 PS 是 CPU 软件渲染而不是 GPU 硬件直接渲染的,
所以性能可能因为其他计算达到瓶颈
因为程序简单又不需要变动,所以希望性能为先……

因为本人硬盘空间紧张,暂时不能自己编译,
恳请高人编译 ps 后发送到我的油箱中……(zlzfzlzf艾hotmail.com)
(或者用 WinHex 把 ps 文件的 16 进制贴进来)
万分感谢!
复制抄袭,
答非所问者,
一律无视,请自重!

我是新手,我只看明白了第一段的意思,所以我就按照我理解的回答,
pixel shader:

sampler Texture0;
float4 ps_main(float2 tex:TEXCOORD0):COLOR
{
float4 col=tex2D(Texture0,tex);
col.r=col.r*2;
col.g=col.g*2;
col.b=col.b*2;
return float4(intensity.xxx,col.a)
}