随笔-341  评论-2670  文章-0  trackbacks-0
    今天做了一整天终于优化了kd-tree和Ambient Occlusion。先上代码,后上图。

    首先是做了一个kd-tree,渲染一幅有一千三百多万个三角形的图仅需要0.4秒。


    其次是Ambient Occlusion


    第三幅是对比图。上图有Ambient Occlusion,下图没有。
 

    再加两张(博客发布后才添加的)。算法没变,只不过多了模型,就暂时不更新代码了:


posted on 2011-01-21 22:45 陈梓瀚(vczh) 阅读(11249) 评论(11)  编辑 收藏 引用 所属分类: 3D

评论:
# re: 图形学真是一个打发时间的好东西(三) 2011-01-21 23:49 | 陈昱(CY)
沙发,Ambient Occlusion是用什么算的啊?  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2011-01-22 06:39 | 陈梓瀚(vczh)
@陈昱(CY)
往法向量方向的半圆射一大堆光线,看看有多少被其他物体拦截住  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2011-01-22 08:06 | Jedi-CY
看代码里面,好像不用管截住的距离?  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2011-01-22 08:49 | 陈梓瀚(vczh)
@Jedi-CY
ye,因为关心的是拦截面投影到半球上的面积  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2011-01-22 10:48 | php
博主太强大了  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2011-01-23 19:33 | mm
越来越厉害哦  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2011-02-13 23:40 | 刘柳
太强了  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2012-04-26 04:40 | Scan
老大,你说,你重构去掉虚函数后,性能提高了30%。我想问的是,虚函数不过多了一次间接函数指针的访问,将虚函数替换成switch来决议分支,应该差不多啊?为什么会有30%的差距?  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2012-04-26 05:56 | 陈梓瀚(vczh)
@Scan
因为每一个虚函数其实就只是return了一条很短的式子,所以由于跳转到一个内存地址的内容上面,CPU的分支预测就会出错,所以这个效果比较明显。如果你的虚函数本身内容很大,就像我最近的GacUI一样,那几乎没有影响。  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2012-04-28 06:41 | Scan
注意到天空盒的接缝了哈哈  回复  更多评论
  
# re: 图形学真是一个打发时间的好东西(三) 2012-04-28 08:17 | 陈梓瀚(vczh)
@Scan
本来那里应该专门写过渡的但是我太懒了……  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理