- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 对辐射度算法进行多线程优化的总结
这段时间,我对基于硬件的辐射度生成算法进行了多线程优化.使用256*256的光照图时性能的提升大约为1/6,远远没有达到预期的效果.主要有这样一些原因:1.最主要的问题在于这个算法不只是受限于CPU的,同时也是受限于GPU的.而最主要的瓶颈在于CPU和GPU之间存在着严重的相互等待现象,这主要是从GPU读取大量的纹理数据造成的.程序在单线程模式下CPU占用率50%(可能是由
2008-01-23 17:15:00 1967
原创 基于硬件的辐射度计算的收敛问题
在直接光照图的基础上进行辐射度计算可以达到十分优秀的效果.如图: 地上的光斑是由局部光照模型离线计算而来.将环境光和局部光照迭加再和物体本身的纹理进行modulate,以此为基础进行辐射度迭代计算.效果已经比较理想.然而,现在的问题是这种基于GPU渲染的迭代算法很难通过准确的方式收敛.造成随着迭代次数的增加场景越来越亮,不能够达到光能平衡.看到过一种方法利用场景的
2008-01-18 21:48:00 1939
转载 案例分析:Radiosity 光能传递渲染器的多核优化
导读: intel的辐射度优化方案,非常值得借鉴。不过对于基于硬件的辐射度算法而言,使用这个模式还需要考虑CPU和GPU的并行性的优化问题。本文转自 http://softwarecommunity-zho.intel.com/articles/zho/31066.htm
2008-01-17 15:56:00 1714
转载 光照贴图(Lightmapping)与辐照度(Radiosity)
导读: 十分清晰易懂的辐射度和光照图的文章,不过依赖于D3D的部分接口.同时没有包括光照图生成的内容 对于一个3D场景光照是加强真实感的重要因素, 目前来说大概可以分为静态光照和动态光照.在这里我们主要讨论的是静态光照. 静态光照的好处很多, 比如: 渲染速度快, 效果好, 可以逐象素的计算光照和阴影.缺点就是光照的效果是静态的, 并且其需要一定的预处理时间. 我把这篇文章分为
2008-01-17 15:47:00 3945
原创 光照图纹理坐标全自动unwrap
光照图纹理坐标全自动unwarp终于基本完成.测试了很多模型效果基本可以接受.对于比较规则的模型,纹理利用率可以达到80%,而用max烘陪的纹理利用率只有28% 主要步骤有:1.首先将所有三角形按照"邻接关系" 分成邻接组. 分组时除了考虑相连关系之外还要考虑法线是否相近或相等2.把所有的邻接组按照面积大小排序.3.建立"纹理空间二叉分割"结构,将所有邻接组插入到0,1之间
2008-01-12 20:46:00 2386 3
原创 辐射度模块DEMO出炉,支持环境光和体光源,纹理坐标生成问题依然存在
DEMO请至http://download.csdn.net/source/328750 下载上图:上图使用了max烘培产生的纹理坐标,以此为基础进行辐射度计算。自动生成纹理坐标时,由于不能正确处理三角形之间的拓扑关系导致下图的现象:使用自动生成的纹理坐标,计算得光照图:对三角形按面积排序,然后“找空子”插入。破坏了三角形的
2008-01-10 11:33:00 2807
原创 场景管理技术:KDTREE+遮挡剔除
一.场景加速算法分类当前主流的场景加速算法主要有这样几个大类:1.视域剔除:指的是将场景中在观察区域以外的多边形或物体在提交到渲染管线之前就剔除掉,从而可以大幅减少渲染他们的开销。2.遮挡剔除:指的是将场景中完全被别的物体遮挡住的多边形或物体在提交到渲染管线之前就剔除掉,从而可以大幅减少渲染他们的开销。3.LOD:为某个物体建立一系列不同精度的模型,在实际渲染的时候根据一定的规
2007-10-16 20:38:00 7089
原创 第九作坊渲染特效:立方体/平面环境映射+法线凸凹贴图
立方体/平面环境映射 环境映射用于模拟物体表面的反射现象可以是动态的也可以是静态的。立方体贴图就是由六个面组成的纹理。立方体环境映射实质上就是一种利用三维向量作为纹理坐标的采样方式。 静态立方体映射
2007-10-16 19:00:00 2544
原创 第九作坊的游戏开发方式:面向实时处理的方法简介
1.面向实时处理的概念面向实时处理的方法是专门为实时系统设计的脚本组织方法。面向实时处理的方法包含3类对象:实时处理(下面简称处理)、库、组。它们以处理为中心完成相应的工作。从形式上说,处理和库都是实现了特定功能的代码片段,而组能够包含任意数量的处理和库,同时也能够包含其他的组。这三类逻辑单元组成了一棵描述整个游戏逻辑的“逻辑树”。“逻辑树”可以有任意层,每一层可以有任意多的结点。处理和
2007-10-16 18:42:00 2275
原创 第九作坊中的像素光照实现
像素光照与固定管线不同,使用可编程管线可以实现灵活多样的渲染效果。然而事物总有两面,使用可编程管线就必须编写Shader程序。本节的内容将以分析实现各种效果的Shader为主,在此之前有必要简单说明Shader的使用方法。下面的伪代码说明了如何使用ID3DXEFFECT接口执行Shader程序。 使用D3DXCreateEffectFromFile读取并编译Shader使用ef
2007-10-12 17:58:00 2524
原创 控制物体的运动-第九作坊物理运动引擎介绍
游戏引擎的基本功能除了渲染以外最重要的就是物理运算,因为引擎不光要把物体“画”出来,还要在指定的位置,指定的大小,按照指定的姿态将物体正确的画出来。这些任务都是由物理运算完成的。引擎的物理运算都是在物理层完成的,物理对象决定渲染对象的物理属性。下面首先从最基本的刚体运动开始。1. 刚体运动刚体运动将所有物体看作不会发生形变的实体,对其进行的各种运算只需要考虑位移和旋转即可。所
2007-10-12 17:35:00 2064
原创 基于Shadow map的实时阴影效果实现
有光则有影,即时渲染的阴影可以使场景看上去更加真实。下图显示了实时阴影系统在一个3D项目中的应用: 算法描述: ShadowMap是一种基于阴影图的阴影生成方法,阴影图是一张2D贴图。阴影图中的每个像素都记录了从光源到遮挡物(遮挡物就是阴影生成物体)的每个“可见”像素的距离。这里的“可见”像素是指,以光源为观察点,光的方向为观察方向,设置观察矩阵并渲染所有遮挡物,最终出现在渲染表
2007-10-12 17:05:00 2847
原创 第九作坊简介
第九作坊简介 场景视图: 脚本视图:用途:本软件是一套面向个人或小型团体的入门级游戏开发工具,利用本软件能够有效的降低游戏开发难度、节省游戏开发成本、降低游戏开发门槛。使得有志于开发游戏的个人或小型团体能够使用简单的脚本语言(Lua)快速的编写出游戏软件,而不用过多的考虑各种底层功能的实现。技术特点:1.本软件内建自主开发的全3D游戏引擎,引擎提供了
2007-09-28 00:16:00 2125
草图大师极速渲染器渲影4.2
2013-02-21
辐射度Demo第二版
2008-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人