PixelBender 简介
来源:互联网 发布:linux内核sleep函数 编辑:程序博客网 时间:2024/06/05 07:45
PixelBender是Adobe公司的一项图像处理算法开发工具,该工具基于GLSL(OpenGL Shader Language),使用它你的图像处理算法能力充分利用GPU和多核心CPU的能量,提高图像处理的速度。当然,如果想要最大程度的提高你算法的速度,那么你的算法必须适合并行话,否则,有的时候反而降低的效率。该开发工具虽然没有CUDA工具的强大,但是该开发工具确实相当简单。不过,你利用该工具开发出来的kernel目前只能用于Adobe家的产品里面,如Photoshop CS4, After Effect CS4等,这有点保守了。
说了那么多,先来介绍一个该工具自带的一个例子吧:
// 指定语言版本,目前是1.0版本
<languageVersion: 1.0;>
// 一些注释性文字
kernel InvertRGB
< namespace : "AIF";
vendor : "Adobe Systems, Inc.";
version : 2;
description : "Invert the Red, Green and Blue channels of an image"; >
{
// 输入图像
input image4 src;
// 输出图像
output float4 dst;
// kernel,算法的核心
void
evaluatePixel()
{
// 获取当前像素值,outCoord获取当前像素坐标,sampleNearest()函数进行值采样,从而获取像素值
float4 inputColor = sampleNearest(src, outCoord());
// 计算新的RGB值,反色
dst.rgb = float3(1.0, 1.0, 1.0) - inputColor.rgb;
// 设置Alpha通道的值,1.0为不透明,0.0为全透明
dst.a = inputColor.a;
}
}
这里有个小提示:浮点型的数值一定要跟小数点,否则会报错!
Kernel在显卡中的多个stream processor同时运行,实现的算法的并行处理。
- PixelBender 简介
- pixelBender学习网站
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 简介
- 深度postmessage
- 编译器如何处理内、外链接
- 一个好的程序员也是要有博客的
- 小心保险公司的免责条款
- ORACLE数据库的数据导入方法
- PixelBender 简介
- 一个老程序员未来10年的计划目标
- 积少成多Flash(8) - ActionScript 3.0 网页之获取参数,JavaScript与ActionScript之间的相互调用
- Java实现几种常见排序方法(上)
- [原创]WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[第1篇]
- Javascript跨域和Ajax跨域解决方案(转)
- vb 遍历窗口下所有控件里的文字
- 很有意思的一道编程题,有兴趣的做做
- ASP.NET服务器配置Office的COM组件权限