Radiosity 辐射度
skybreaker
第九作坊开发者,常年痴迷于实时渲染技术
展开
-
对辐射度算法进行多线程优化的总结
这段时间,我对基于硬件的辐射度生成算法进行了多线程优化.使用256*256的光照图时性能的提升大约为1/6,远远没有达到预期的效果.主要有这样一些原因:1.最主要的问题在于这个算法不只是受限于CPU的,同时也是受限于GPU的.而最主要的瓶颈在于CPU和GPU之间存在着严重的相互等待现象,这主要是从GPU读取大量的纹理数据造成的.程序在单线程模式下CPU占用率50%(可能是由原创 2008-01-23 17:15:00 · 1951 阅读 · 0 评论 -
辐射度模块DEMO出炉,支持环境光和体光源,纹理坐标生成问题依然存在
DEMO请至http://download.csdn.net/source/328750 下载上图:上图使用了max烘培产生的纹理坐标,以此为基础进行辐射度计算。自动生成纹理坐标时,由于不能正确处理三角形之间的拓扑关系导致下图的现象:使用自动生成的纹理坐标,计算得光照图:对三角形按面积排序,然后“找空子”插入。破坏了三角形的原创 2008-01-10 11:33:00 · 2793 阅读 · 0 评论 -
光照图纹理坐标全自动unwrap
光照图纹理坐标全自动unwarp终于基本完成.测试了很多模型效果基本可以接受.对于比较规则的模型,纹理利用率可以达到80%,而用max烘陪的纹理利用率只有28% 主要步骤有:1.首先将所有三角形按照"邻接关系" 分成邻接组. 分组时除了考虑相连关系之外还要考虑法线是否相近或相等2.把所有的邻接组按照面积大小排序.3.建立"纹理空间二叉分割"结构,将所有邻接组插入到0,1之间原创 2008-01-12 20:46:00 · 2368 阅读 · 3 评论 -
光照贴图(Lightmapping)与辐照度(Radiosity)
导读: 十分清晰易懂的辐射度和光照图的文章,不过依赖于D3D的部分接口.同时没有包括光照图生成的内容 对于一个3D场景光照是加强真实感的重要因素, 目前来说大概可以分为静态光照和动态光照.在这里我们主要讨论的是静态光照. 静态光照的好处很多, 比如: 渲染速度快, 效果好, 可以逐象素的计算光照和阴影.缺点就是光照的效果是静态的, 并且其需要一定的预处理时间. 我把这篇文章分为转载 2008-01-17 15:47:00 · 3923 阅读 · 0 评论 -
案例分析:Radiosity 光能传递渲染器的多核优化
导读: intel的辐射度优化方案,非常值得借鉴。不过对于基于硬件的辐射度算法而言,使用这个模式还需要考虑CPU和GPU的并行性的优化问题。本文转自 http://softwarecommunity-zho.intel.com/articles/zho/31066.htm转载 2008-01-17 15:56:00 · 1699 阅读 · 0 评论 -
基于硬件的辐射度计算的收敛问题
在直接光照图的基础上进行辐射度计算可以达到十分优秀的效果.如图: 地上的光斑是由局部光照模型离线计算而来.将环境光和局部光照迭加再和物体本身的纹理进行modulate,以此为基础进行辐射度迭代计算.效果已经比较理想.然而,现在的问题是这种基于GPU渲染的迭代算法很难通过准确的方式收敛.造成随着迭代次数的增加场景越来越亮,不能够达到光能平衡.看到过一种方法利用场景的原创 2008-01-18 21:48:00 · 1926 阅读 · 0 评论