岁月流转,往昔空明
C++博客
首页
新随笔
联系
聚合
管理
69 Posts :: 3 Stories :: 184 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(7)
给我留言
查看公开留言
查看私人留言
随笔档案
(69)
2008年7月 (3)
2008年6月 (1)
2008年5月 (3)
2008年3月 (1)
2008年2月 (3)
2007年12月 (2)
2007年11月 (4)
2007年10月 (3)
2007年8月 (5)
2007年7月 (2)
2007年6月 (5)
2007年5月 (5)
2007年4月 (2)
2007年1月 (3)
2006年12月 (7)
2006年11月 (6)
2006年10月 (6)
2006年9月 (2)
2006年5月 (3)
2005年12月 (1)
2005年11月 (2)
文章分类
(3)
Tips,Tricks(1)
程序库实作
链接区
软件的蓝图(1)
数字魔方
心情故事
众乐乐(1)
转贴区
文章档案
(3)
2006年5月 (1)
2005年12月 (1)
2005年11月 (1)
收藏夹
(1)
图形学(1)
青青子衿
友情链接
Azure的专栏
3D技术挺好的,博客(网站?)有很多值得学习的例子.高人一名.
Flyingis的博客,GIS
GIS的高手,望尘莫及,努力学习中。
VCZH的博客
编译器小霸王,现在在Microsoft Search Tech Group实习
六水的主页
六水的主页,Inverse Kinematic,Ray Tracing, Photon Mapping皆有涉猎。强人。
我的心灵是一片湖蓝
我在GameRes上的Blog,经营了一段时间了。经常会翻翻以前的帖子,回味一下过去的快乐和悲伤。
最新随笔
1. SoftArt Shader Language Syntax EBNF
2. 开始写EBNF Grammar for SoftArt Shader Language
3. 再用Boost.Python
4. 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致
5. GPU Gems 3 Chapter 3 List 3.4的解释
6. 开个新的系列:GPU Gems 3 导读 + Chapter I 运用GPU构造复杂的过程化地形 导读(上)
7. 脚本编程琐话
8. 一个type2id的程序
9. 软件渲染器的项目已经在SF.NET上了
10. 设计模式小结(三)
搜索
积分与排名
积分 - 67261
排名 - 23
最新评论
1. re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致
@女巫
两个就没办法表现层次了。
--空明流转
2. re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致
这个问题还可以再精简,做成两个骨骼。我在OpenGL时遇到这样类似的问题。
--女巫
3. re: [翻译]CUDA:GPU计算的革命
INTEL是不是要失业了
--000
4. re: Windows界面程序的数年挣扎:经验与教训(三)
快毕业了 就急于求成 我也很矛盾
--沈臻豪(foxtail)
5. re: Windows界面程序的数年挣扎:经验与教训(二)
界面问题确实够人头痛一阵了
--沈臻豪(foxtail)
阅读排行榜
1. [翻译]CUDA:GPU计算的革命(2531)
2. 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致(1592)
3. ArcGIS Server 9.2 专题:ArcGIS Server 9.2架构分析 Slides(1582)
4. GPGPU C++用框架(4月21日更新)(1484)
5. boost 1.34.0(几乎是最糟糕的boost) 常见问题解答(1459)
评论排行榜
1. [转贴]构造可配置的词法分析器(已完结)(16)
2. ArcGIS Server 9.2 专题:ArcGIS Server 9.2架构分析 Slides(9)
3. 总结帖:为什么玩3D游戏会头晕?(9)
4. Windows界面程序的数年挣扎:经验与教训(一)(8)
5. [翻译]CUDA:GPU计算的革命(7)
很久没有动手了,放个小小的GPGPU的框架上来
-----------------------------------------------------------------------------------------
4月20日5:00pm更新
(
点此下载
):
添加了使用多个Color Attachment的方法;
补充了Kernel接口以支持多次迭代运算;
添加了Timer类,使用RDTSC时间戳计时,可以用于Benchmark(注意时间戳可能在多核CPU上存在计时不准的问题)。
-----------------------------------------------------------------------------------------
Blog已经被我荒废了不短的时间,看看名次也理所当然的下降了,呵呵。
最近由于Paper需要,正在写GPGPU的程序。我本来是个GL盲,这任务也确实有点紧迫了。不过好在有GPGPU Math Tutorial和libglsl的帮助,从昨天晚上开始看,到现在终于搞定了。
整体来说这架构也就2个部分,Kernel和GraphicProcessor。前者主要就是设置Shader和Shader里面的参数,后者主要是设置运行时的GL环境。本来GPGPU的Tutorial是可以支持Ping Pong方式的纹理使用,但是考虑到程序复杂度,最终我还是觉得就一个目标纹理来的要舒服一点。至于Ping Pong,可能等需要的时候再支持吧。(4月20日更新已经支持啦~不过需要手工配置如何交叉使用纹理)
源代码
点此下载
额外补充一点的是,最好是将Benchmark工作放置在Kernel的环境创建点之后和环境销毁点之前。这是因为设置FBO的时间实在是太长太长了。在我的慢速版的ATI 9600XT上(175/175MHZ,因为显卡芯片风扇坏了,只能减速运行了。。。
),对一个RGBA32F的1024×1024的纹理进行运算,逐个浮点求sin(没有做Cache优化),耗时0.11s左右,CPU的版本(当然是Release啦,没有特别的优化),0.9s左右。但是那个可恶的glFramebufferTexture2DEXT调用却吃了我0.8s的时间。。。OTZ。。。。
忘了说了,4-20版的代码,需要有个叫<platform/typedef.h>的头文件。文件因为在其它目录下就没有打到包中。这里给出源代码就是了。
1
#
ifndef _TYPEDEF_H
2
#
define _TYPEDEF_H
3
4
#
if _MSC_VER >= 1200
5
6
typedef unsigned
__int8
uint8;
7
typedef unsigned
__int16
uint16;
8
typedef unsigned
__int32
uint32;
9
typedef unsigned
__int64
uint64;
10
11
typedef
__int8
int8;
12
typedef
__int16
int16;
13
typedef
__int32
int32;
14
typedef
__int64
int64;
15
16
typedef uint8 byte;
17
typedef uint16 word;
18
typedef uint32 dword;
19
typedef uint64 qword;
20
21
#
endif
22
23
#
endif
posted on 2007-04-19 20:09
空明流转
阅读(849)
评论(0)
编辑
收藏
引用
标题
姓名
主页
验证码
*
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
Powered by:
C++博客
Copyright © 空明流转