最近休了几天假玩一玩所以进展比较慢。直到今天我做了高亮、4*4全屏幕消锯齿、圆柱体和三角形模型。不过目前三角形我没有用kd-tree,所以巨慢。在i7上做一个36096个面的Menger Sponge再加上全屏幕消锯齿花掉了20分钟……
点击
这里下载当前进度的代码。
下面开始贴图:
Blinn Specular:
全屏幕消锯齿:
传说中三万多个三角形的Menger Sponge
无聊做的圆柱体求交函数:
posted on 2011-01-20 09:10
陈梓瀚(vczh) 阅读(5176)
评论(9) 编辑 收藏 引用 所属分类:
3D
评论:
# re: 图形学真是一个打发时间的好东西(二)[未登录]
2011-01-20 09:21 |
# re: 图形学真是一个打发时间的好东西(二)
2011-01-20 19:09 |
我的DirectCompute光线追踪在Direct SDK升级到June 2010之后就再也编译不过了………直接导致我失去兴趣。现在我打算用OpenCL再重新搞一次。。
回复 更多评论
# re: 图形学真是一个打发时间的好东西(二)
2011-01-20 19:28 |
@装配脑袋
稀客啊,难得从cnblogs跑这里来。话说光线追踪用CPU还是写起来最方便的,虽然性能没有那些用vertex shader做并行的快……
回复 更多评论
# re: 图形学真是一个打发时间的好东西(二)
2011-01-20 20:03 |
@陈梓瀚(vczh)
DirectCompute和OpenCL都是用GPU做通用算法的API啊,就是纯粹利用其并行性,呵呵。vertex shader那种语法当然没法用了。。话说回来,DC和CL也都有N多限制,比方说没有多态啦,线程组共享存储只有32k啦,内存缓冲区要256bit对齐啦,没递归啦……之类的。老实说OO用多了,没多态简直不知道怎么办事……
回复 更多评论
# re: 图形学真是一个打发时间的好东西(二)
2011-01-20 20:10 |
这两天试OpenCL的.NET封装版Cloo,真是比DirectCompute好用100倍。不过OpenCL的性能似乎显著没有DirectCompute好,我做的曼德勃罗特集实验用OpenCL单精度浮点版本还没有DirectCompute双精度浮点速度快。但是OpenCL还可以用在CPU上,效果还蛮不错的。
光线追踪我纯粹是把别人写的算法GPU化,照猫画虎哈。其实原理都不懂的说
回复 更多评论
# re: 图形学真是一个打发时间的好东西(二)
2011-01-20 20:37 |
@装配脑袋
我也遇到了一个奇怪的问题,之前用double一直很好,改成float慢了一倍……不过其实做ray tracing我也用不了OO了,一条光纤要触发好几次虚函数的话,渲染一个800*600+4x4FSAA就要调用几千万次虚函数了,这个损失就大了。因此我也写得很窘……
回复 更多评论
# re: 图形学真是一个打发时间的好东西(二)
2011-01-20 20:39 |
@装配脑袋
光线追踪的原理还是很容易的话,我可以推荐一本入门书《VisualBasic高级图形程序设计教程》原版95年写的。里面描述了简单几何物体+简单光源的实现方法。虽然距离真正的rt差很远,不过还是可以从这里开始学的……
回复 更多评论
# re: 图形学真是一个打发时间的好东西(二)
2011-01-20 21:24 |
# re: 图形学真是一个打发时间的好东西(二)
2011-01-21 01:50 |