博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于Pixel Shader的FFT已经完成
阅读量:7002 次
发布时间:2019-06-27

本文共 432 字,大约阅读时间需要 1 分钟。

转载请注明出处为,本文地址为

上周末把在KlayGE里实现了一下,经过优化和调整,昨晚已经进入KlayGE的开发版本中。完整的也会很快集成进去。

这里用到的是那篇文章中提到的方法1,因为经过测试,方法2在现代GPU上速度不如方法1。我做的改进是把原来的3张查找表合并成1张,并都用 16F而不是32F的格式保存输入输出数据。在GTX580上,512×512的数据量,PS版本的FFT花费0.94ms左右,能达到CPU FFTW的75倍速度。但即便如此,对于lens effect那样的应用来说还是有点慢。所以接下去考虑用Compute Shader来实现FFT,pass数会减少到1/3。PS每次处理2个数,512×512需要log(512) + log(512) = 18个pass;CS每次可以处理8个数,所以只要6个pass。在Ocean的例子里有个CS4的FFT,需要多两个texture和buffer互转 的pass。CS5的FFT将会更干净,效率更高。

你可能感兴趣的文章
Sequelize 和 MySQL 对照
查看>>
如何自学编程?学习方法在这里!
查看>>
好程序员web前端分享js剪切板Clipboard.js 使用
查看>>
访问权限,public private protected
查看>>
Kubernetes(一) - Docker管理工具
查看>>
Linux基础命令---文本编辑ex
查看>>
用开放和流动反抗熵增,生态建设终极哲学——保险生态建设 ...
查看>>
web页面渲染(二)
查看>>
半年两轮融资,小程序生态服务平台「即速应用」再获5000万元A+轮融资 ...
查看>>
JVM 常用参数
查看>>
Dat.gui 使用教程
查看>>
Auto Scaling 支持目标追踪伸缩规则
查看>>
阿里敏捷教练:多团队开发一个产品的组织设计和思考
查看>>
java日志规约及配置示例终极总结
查看>>
How Blink Works 中文译文
查看>>
three.js 创建文字的几种方法
查看>>
实现div毛玻璃背景
查看>>
Java虚拟机的组成
查看>>
探索AI小游戏新形态,小游戏企业蝴蝶互动获百度战略投资
查看>>
小白如何购买阿里云服务器(图文教程)?
查看>>