10 2008 档案

摘要:阴影和纹理映射一样,通常是在渲染器中附加算法来实现,并被粘贴到场景中。在场景中每个光源产生的贴图称为阴影贴图(shadermap)。在渲染的过程中对该贴图进行存取,以找出某个像素是否位于阴影中。阴影贴图的生成原理如下图所示:可把光源模拟成有特定方向的发光点,其发出的光线与长方体相交与A点,若射穿长方体则与地面相交于B点,我们记录光线首次与物体相交的点的信息,并保存光源到该点的距离,称为该点在灯光空间的深度Depth。如此被长方体遮盖住的部分地面里的点则没有相交信息,则保存为同一光源线上首次与光源相交的点的信息为该点的Depth,如图,A点和B点保存的都是A点到光源的距离。如此场景中每个点均有D 阅读全文
posted @ 2008-10-09 23:10 skydesign 阅读(748) 评论(0) 推荐(0)
摘要:水的表面显示场景物体倒影的效果。这是把场景渲染到水面上来实现,不是简单的渲染,而要经过反射处理,即要反射渲染目标。法线贴图是可以应用到3D表面的特殊纹理,有时也称凹凸纹理,它包括了每个像素的高度值,内含许多细节的表面信息,能够在平平无奇的物体上,创建出许多种特殊的立体外形。可以把法线贴图想像成与原表面垂直的点,所有点组成另一个不同的表面。对于视觉效果而言,它的效率比原有的表面更高,若在特定位置上应用光源,可以生成精确的光照方向和反射。现具体讨论一下实现水效果的步骤:一:设计一继承模型类的water类,并为其设计一shader文件,可在其构造函数里设置相应的shader文件,在water改写模型 阅读全文
posted @ 2008-10-09 02:08 skydesign 阅读(475) 评论(0) 推荐(0)
摘要:渲染到目标,通俗地说就是把特定场景的物体放在目标上显示。这个目标可以是纹理,窗口等。本文介绍的是把场景渲染到纹理,并以图片的形式保存起来。一 其原理如下:在初始化时创建一纹理Texture,获取指向该纹理的指针,接着创建深度表面,并获取指向其的指针DepthSurface。在渲染时先获取系统的默认的渲染目标和深度模板表面,再设置Texture的表面为渲染目标,并通过DepthSurface设置深度模板表面,接着渲染场景中的物体,并保存该纹理到制定路径,最后恢复系统的默认的渲染目标和深度模板表面。二 具体步骤: 设计一渲染目标类RenderTarget,负责纹理,深度表面的创建,以及设置渲染目标 阅读全文
posted @ 2008-10-08 02:52 skydesign 阅读(544) 评论(0) 推荐(0)
摘要:Shader技术属于GPU的渲染技术,其相应语言是高级着色器语言(High Level Shader Language 简称HLSL)。HLSL主要作用为将一些复杂的图像处理快速而又有效率地在显卡上完成。在DirectX中有两种Shader,顶点着色器Vertex Shader (vs)和像素着色器Pixel Shader (ps)。能够实现VS和PS的显卡的图形处理流水线被称作为是可编程的。VS实际代替了传统图形渲染流水线里的T&L部分,其以顶点为计算单位,负责处理世界坐标中的顶点信息,可以处理光照、阴影、坐标变换、法向量等等。PS代替了传统图形渲染流水线中的光栅化部分,比如纹理贴图 阅读全文
posted @ 2008-10-07 02:49 skydesign 阅读(712) 评论(0) 推荐(0)
摘要:地形的网格可以使用高度图作为数据源生成。高度图可以是位图,可理解成二维数组,地形实际上就是一系列高度不同的网格而已,这样数组中每个元素的索引值刚好可以用来定位不同的网格(x,z),而所储存的值就是网格的高度(y)。地形的渲染可由四叉树来管理,网格的每个顶点对应四叉树的各个节点,有关四叉树的应用可参考"引擎技术研究之场景管理------四叉树与视椎剔除技术"。现讨论地形技术的相关应用:一:地形的生成1 根据一指定路径的灰度图生成高度图mpBmpHeightMap,并获取mpBmpHeightMap的长度length和宽度width2 根据length和width创建一顶点指针mpVertexsM 阅读全文
posted @ 2008-10-05 16:13 skydesign 阅读(430) 评论(0) 推荐(0)
摘要:先说一下视椎的概念:视椎是摄像机可见的空间体积,外观就像截掉顶部的金字塔。视椎剔除就是将在视锥外的物体不进行渲染操作,以加快运行速度。大型场景经常用四叉树的技术来管理,即用四叉树的方式进行空间划分。一:场景管理中四叉树的划分现以一地面为例讨论四叉树的划分技术。地面是由很多个三角形组成,两个三角形合成一正方形。如不进行四叉树划分,则需遍历所有三角形以确定被剔除物体,算法复杂度大。如下图所示:当我们用四茶树来管理物体时,可把地面看成一大正方形,将视椎的横截面与地面重合,并作第一次四等分划分,如此,对四个正方形区域作第一次遍历后,只需对视椎截面所在的上两个正方形作第二次深入遍历。如图所示:将有视椎截 阅读全文
posted @ 2008-10-04 02:42 skydesign 阅读(1339) 评论(0) 推荐(0)