利用3D物体排序优化阴影体算法

合集下载

计算机图形学中的三维视觉效果渲染算法原理与优化

计算机图形学中的三维视觉效果渲染算法原理与优化

计算机图形学中的三维视觉效果渲染算法原理与优化在计算机图形学中,三维视觉效果渲染是模拟真实世界的光线效果并通过计算机生成渲染图像的过程。

本文将介绍三维视觉效果渲染算法的原理和优化方法。

一、光线追踪算法光线追踪算法是一种基于光的物理模型的渲染算法。

它通过模拟光线从眼睛或者相机发射出去,与场景中物体相交后经过反射、折射等过程来计算最终的颜色值。

光线追踪算法的核心思想是通过反复追踪光线路径来获取场景中每个像素的颜色数值。

光线追踪算法的优点是能够模拟真实世界光线的效果,可以处理全局光照、阴影和反射等效果,并且对于复杂场景的渲染效果较好。

然而,由于其计算量较大,对实时渲染来说不太适用。

二、栅格化算法栅格化算法是另一种常用的三维视觉效果渲染算法。

它将三维场景转化为二维像素点的形式进行处理。

栅格化算法通常包括三个步骤:几何计算、光照计算和像素绘制。

几何计算的目的是将三维模型转化为屏幕上的二维坐标。

通过投影、裁剪和变换等操作,将三维模型中的图元映射到屏幕上的相应位置。

光照计算主要是根据光照模型计算每个像素的颜色值。

常用的光照模型有冯氏模型、Lambert模型和Blinn-Phong模型等,它们通过考虑光照方向、光强度和材质属性等因素来计算像素的颜色。

像素绘制是将计算得到的像素颜色值绘制到屏幕上。

这一步骤通常使用画线算法来实现,比如DDA算法和Bresenham算法。

栅格化算法的优点是计算速度快,适用于实时渲染,可以处理大规模场景。

然而,由于其是基于离散化像素的处理方式,对于光线的折射和反射等效果处理较为困难。

三、渲染算法的优化为了提高渲染算法的效率和实时性,研究人员提出了许多优化方法。

1. 加速结构加速结构是一种用于减少光线追踪算法中不必要计算的技术。

常见的加速结构有包围盒层次(BVH)和kd树等。

通过将场景中的物体划分为不同的空间区域,可以快速确定光线和物体的相交关系,从而减少冗余计算。

2. 阴影优化阴影是三维场景中的重要效果之一,但是计算阴影需要考虑光线的传播和遮挡等复杂因素,导致计算量较大。

计算机实时3D绘图的阴影算法理论研究

计算机实时3D绘图的阴影算法理论研究

1.引言在现实生活中,阴影不仅能够提高场景的真实感,同时也能帮助判断场景中物体的空间相对位置关系,真实感强的阴影生成方法就显得更加必要。

目前阴影算法主要分为静态阴影和动态阴影两个方面。

根据光源的大小对阴影的影响又可以将阴影绘制分为硬阴影和软阴影。

硬阴影一般由点光源产生,阴影只有本影区域,而软阴影绘制中,光源通常具有一定的面积和体积的,产生的阴影既有本影区域又有半影区域,软阴影具有边缘模糊的特性。

具体的阴影算法包括:平面投射阴影算法、光照图算法、阴影图算法(shado w m aps,SM)、影域体算法(shado w v olumes,SV)、光线跟踪算法等。

前面两种算法一般用于静态阴影的绘制,后面几种算法主要用于动态阴影的绘制。

本文着重介绍这几个算法,并且分析比较几个算法在不同场景中的应用和优缺点。

2.静态阴影算法分析2.1平面投射阴影算法场景中不透明物体对入射光线的遮挡而在其后的平面上形成阴影。

这一简单实用的方法是Blinn在1988年提出的,其基本思想是通过光源将物体边界投射到平面上。

投射法生成阴影技术通过把三维中的物体进行几何投影变换,将其按点光源或线光源的方向投射到某个地面上,并对投射出来的物体用阴影的颜色绘制一遍,来完成阴影的绘制过程。

该算法在生成垂直背面和侧平面上的阴影很简单。

而且可以对任何平面做出阴影的效果。

但该算法有其缺陷:⑴只能适用于含有单个或多个足够分开的物体的场景。

且不包括一个物体的阴影阴影投射到另一个物体的情况,特别是在大规模复杂场景中使用时,算法的效率低。

⑵该算法只能应用于平面,无法把阴影投射到曲面上,且如果有多个平面,分别要对每个平面都做一次投射,增加了计算的开销。

该方法曾经受到了传统动画制作者的下,促进了三维动画和虚拟现实技术的发展。

如今,该方法应用限制比较大,采用的比较少。

2.2光照图(L ight M ap)算法:L ig ht M ap技术又称为阴影纹理技术。

优化3Dmax渲染中的阴影效果的方法

优化3Dmax渲染中的阴影效果的方法

优化3Dmax渲染中的阴影效果的方法一、引言3D渲染是计算机图形学的一项重要技术,用于生成逼真的虚拟场景。

在渲染过程中,阴影是营造真实感和深度感的关键要素之一。

然而,由于阴影的计算复杂性,它可能成为渲染过程中的瓶颈。

因此,本文将介绍一些优化3Dmax渲染中阴影效果的方法,从而提高渲染效率和质量。

二、优化渲染设置1.选择合适的渲染引擎:在使用3Dmax渲染之前,应根据需求选择合适的渲染引擎。

不同的渲染引擎对阴影的处理方式不同,一些渲染引擎可能会提供更高效的阴影计算算法。

2.调整阴影质量设置:通过调整渲染设置中的阴影质量参数,可以平衡渲染效果和计算速度。

较低的阴影质量设置可能会以牺牲一定的真实感为代价,提高渲染速度。

三、优化模型设置1.减少模型的复杂性:复杂的模型往往需要更多的计算来生成阴影。

因此,在设计模型时,应尽量简化模型的几何细节和面数。

使用平滑的曲面而不是大量的小面,可以减少计算阴影所需的资源。

2.使用合理的纹理:过多和过复杂的纹理会增加阴影计算的负担。

因此,在设计模型时应选择合适的纹理,避免使用过多的高分辨率纹理。

同时,在渲染设置中可以减小纹理的分辨率来提高渲染速度。

四、使用预渲染阴影1.生成预渲染阴影贴图:预渲染阴影贴图是一种将阴影计算结果预先存储为贴图的方法。

在渲染场景时,可以直接使用这些贴图,而无需重新计算阴影,从而提高渲染速度。

2.使用硬阴影而非软阴影:软阴影虽然更加真实,但计算复杂度更高。

在某些场景中,使用硬阴影可以降低计算负担,提高渲染效率。

五、优化光源设置1.减少光源数量:过多的光源将导致更复杂的阴影计算。

因此,合理设置光源的数量,并消除不必要的光源,可以有效降低渲染负担。

2.使用简化的光源:某些场景可能不需要精确的光源模型。

可以使用近似的光源模型,如点光源替代面光源,来加速阴影计算。

六、渲染层次化1.使用渲染层次化技术:将场景分成多个层次,为每个层次设置不同的渲染设置,可以提高渲染速度。

基于ARShadowGAN_的增强现实场景中物体阴影生成算法——以苏州博物馆藏品为例

基于ARShadowGAN_的增强现实场景中物体阴影生成算法——以苏州博物馆藏品为例
用于测试。
笔者利用原文训练好的模型在苏州博物馆的藏
品图像数据上进行推理实验。 由于模型结构限制,所
有输入的图片都用 3 次插值算法缩放到 256 × 256 大
小。 为了展示方便,本文将输出图片重新缩放回原尺
寸。 实验结果如图 2 所示。
莲花碗( 较为简单的藏品) :这个藏品的主体边
缘相对较为简单。 ARShadowGAN 生成的阴影总体上
度。 (5) 实时性能。 在增强现实应用中,实时性能是
关键因素之一。 物体阴影生成算法需要在短时间内
计算出阴影信息并渲染到场景中,以保持流畅的用户
体验。
目前,已经有许多学者对物体阴影生成算法进行
了研究 [2-8] 。 传统的方法主要是基于几何学原理或
光线追踪技术来生成阴影。 然而,这些方法往往需要
大量的计算资源且对光源、材质、环境等因素非常敏
1 国内外研究现状
增强现实中的物体阴影生成算法通常涉及以下
几个关 键 方 面: ( 1) 光 照 模 拟。 为 了 生 成 逼 真 的 阴
影,算法需要模拟光源的位置、强度和颜色。 这可以
通过物体的位置、虚拟光源的设置以及场景的光照条
件来实现。 ( 2) 几何信息。 算法需要获取虚拟物体
的几何信息,如形状、大小和方向。 准确的物体几何
[4] 李琰琛. 基于有向距离场的软阴影生成算法研究
[ D] . 咸阳:西北农林科技大学,2019.
[5] 刘大全. 增强现实中的阴影生成研究[ D] . 武汉:
武汉大学,2021.
[6] 宛齐. 基 于 生 成 对 抗 网 络 的 阴 影 生 成 算 法 研 究
[ D] . 东莞:东莞理工学院,2023.
第 23 期

三维物体消隐算法

三维物体消隐算法

----本文将分析当前在CAD三维图形处理中最主要的12中消隐算法,其中8种属于物体空间法,4种属于图象空间法。在实际处理中,由于物体表面形态的复杂性和提高消隐处理的效率,通常都是结合使用多种消隐算法来完成物体的消隐处理的。
----一、物体空间法
----物体空间法是在三维坐标系中,通过分析物体模型间的几何关系,如物体的几何位置、与观察点的相对位置等,来进行隐藏面判断的消隐算法。世界坐标系是描述物体的原始坐标系,物体的世界坐标描述了物体的基本形状。为了更好地观察和描述物体,经常需要对其世界坐标进行平移和旋转,而得到物体的观察坐标。物体的观察坐标能得到描述物体的更好视角,所以物体空间法通常都是在观察坐标系中进行的。观察坐标系的原点一般即是观察点。
[x*y*z*1]=[xyz][cosβ0-sinβ0
0100
sinβ0cosβ0
0001]
物体绕X轴旋转的角度γ的三维旋转变换公式为
[x*y*z*1]=[xyz][1000
0corγsinγ0
0-sinγcosγ0
0001]
将上述表达式展开后可得如下公式
{x'=cosα×x-sinα×z;
三维坐标变换
透视投影变换
基本图形元素间的求交计算
两个区域重叠判断
点与区域的包含测试
面的朝向测试
----S为消隐策略,即规定P中各基本操作过程被采用的先后次序。
----因此,设计消隐算法时应考虑上述五个要素及它们之间的相互关系。
----在计算机图形学中,为了简化算法,一般是利用多面体去逼近曲面体,因此多面体的消隐算法是曲面体的基础。本文的消隐算法讨论主要是基于多面体的消隐问题,对曲面体进行多次多面体近似,对每一多面体运用多面体消隐算法就能实现曲面体的消隐。

3Dmax中的光影效果与阴影设置

3Dmax中的光影效果与阴影设置

3Dmax中的光影效果与阴影设置3Dmax 是一款强大的三维建模和渲染软件,它可以创建逼真的光影效果和阴影。

本文将详细介绍在 3Dmax 中如何设置光影效果和阴影,帮助读者更好地利用这些功能来提升模型的真实感。

步骤一:创建一个基本模型1. 打开 3Dmax 软件,点击 "Create"(创建)标签,在下拉菜单中选择"Geometry"(几何体)选项。

2. 从 "Create" 菜单中选择一个几何体,比如 "Box"(盒子)或 "Sphere"(球体)。

3. 在视图窗口中点击并拖动鼠标来创建基本模型。

步骤二:添加光源1. 点击 "Create"(创建)标签,在下拉菜单中选择 "Lights"(光源)选项。

2. 从 "Create" 菜单中选择一个光源类型,比如 "Omni"(无限光)或 "Spot"(聚光灯)。

3. 在视图窗口中点击并拖动鼠标来放置光源。

步骤三:调整光源参数1. 选中光源,在右侧的属性编辑器中调整光源的参数,包括光的颜色、强度和照射范围等。

2. 调整光源的位置和角度,以达到理想的光照效果。

步骤四:设置材质属性1. 选中模型,在右侧的属性编辑器中选择 "Material Editor"(材质编辑器)选项卡。

2. 点击 "Standard"(标准材质)按钮,选择一个材质类型。

3. 调整材质的颜色、反射率和折射率等属性,以实现期望的表面外观效果。

步骤五:渲染图像1. 点击"Render"(渲染)标签,在下拉菜单中选择"Render Setup"(渲染设置)选项。

2. 在 "Render Setup" 窗口中,选择渲染器类型和输出设置,比如分辨率和图像格式等。

3Dmax中光影效果的调校与优化方法

3Dmax中光影效果的调校与优化方法

3Dmax中光影效果的调校与优化方法3Dmax是一款常用的三维建模软件,它可以根据用户的需求创建出逼真的三维效果。

其中,光影效果的调校与优化是使三维模型更加逼真的重要环节。

下面将详细介绍在3Dmax中光影效果的调校与优化方法。

一、光源的设置1. 调整光源的位置和方向:在3Dmax中,可以通过移动光源的位置和方向来调整光照效果。

合理的光源位置和方向可以使光线更加自然地照射在模型上,营造出真实的光影效果。

2. 设置光源的亮度和颜色:通过调整光源的亮度和颜色,可以使生成的光线更加逼真。

比如,调整光源的亮度可以改变模型的整体亮度,而调整光源的颜色可以改变模型的色调,使其更贴近实际场景。

二、材质的设置1. 调整模型的表面材质:在3Dmax中,可以为模型表面添加不同的材质效果,如金属、玻璃、皮革等。

通过调整材质的反射、折射和散射等属性,可以使光线在模型表面的反射效果更加真实,增强光影的效果。

2. 添加纹理贴图:在3Dmax中,可以为模型的表面添加纹理贴图,如木纹、石纹等。

这样可以使模型表面的光影效果更加细腻,增强真实感。

三、环境的设置1. 添加环境光:在3Dmax中,可以添加全局光或环境光来模拟环境中的整体照射效果。

通过调整环境光的亮度和颜色,可以使整个场景的光照统一、和谐。

2. 设置阴影:在3Dmax中,可以为模型添加阴影效果。

通过调整阴影的硬度、透明度和颜色等参数,可以使阴影更加逼真,提升光影效果。

四、渲染的设置1. 调整渲染器参数:在3Dmax中,可以选择不同的渲染器,如默认扫描线渲染器、mental ray渲染器等。

根据模型的需求选择合适的渲染器,并调整渲染器的参数以优化光影效果。

2. 调整渲染设置:在3Dmax的渲染设置中,可以调整渲染的分辨率、光线追踪的深度、抗锯齿等参数。

合理地设置这些参数可以提高渲染效果,使光影更加细腻。

五、优化技巧1. 使用低多边形模型:在进行建模时,尽量使用低多边形的模型,这样可以减少计算量,提高渲染速度,并使光影效果更加细腻。

3Dmax中的阴影和光线控制技巧

3Dmax中的阴影和光线控制技巧

3Dmax中的阴影和光线控制技巧3Dmax是一款专业的三维建模和渲染软件,它具有强大的功能和灵活性。

在进行模型制作和渲染过程中,阴影和光线的控制是非常重要的技巧之一。

通过合理设置光源和材质,可以使模型产生更真实、自然的效果。

下面将详细介绍在3Dmax中阴影和光线的控制技巧,希望能为读者提供一些建模和渲染的参考。

一、阴影控制1. 设置光源:在3Dmax中,光源的设置对阴影的生成和呈现起着重要的作用。

我们可以通过选中光源对象并调整其位置、强度和颜色等属性来达到不同的光照效果。

2. 软硬阴影:在模型渲染过程中,根据阴影的硬度或柔和度来调整整体的渲染效果。

调整光源的尺寸和距离可以实现软硬阴影的变化。

3. 投影阴影:为了使渲染的场景更加真实,我们可以通过在3Dmax中使用环境贴图或照片来实现投影阴影。

这样可以让模型在场景中投射出现实世界的阴影效果。

二、光线控制1. 光源类型:在3Dmax中,有多种类型的光源可以选择,例如平行光、点光源和聚光灯等。

我们可以根据场景需求选择合适的光源类型,以达到最佳的光照效果。

2. 灯光颜色:灯光颜色对整体场景的氛围和效果影响重大。

可以将灯光颜色设置为暖色调或冷色调,来营造不同的氛围和情感。

3. 光线强度:通过调整光源的强度,可以改变整个场景的亮度和明暗程度。

提高光源强度可以增强场景的明亮度,降低光源强度则可以达到柔和的效果。

三、阴影和光线控制的实践步骤1. 导入模型:首先,在3Dmax中导入所需的模型。

确保模型的比例和位置适合场景设置。

2. 设置光源:选择合适的光源类型,并调整其位置、强度和颜色等属性。

通过预览功能可以实时查看光照效果。

3. 调整阴影:根据场景要求调整阴影的硬度和柔和度。

可以通过调整光源的尺寸和距离来实现所需的阴影效果。

4. 设置材质:为模型设置适当的材质属性,以便与光源和阴影相互作用。

可以为模型设置反射、折射和漫反射等效果,增加模型的真实感。

5. 渲染设置:在进行渲染之前,要先设置好渲染参数,包括分辨率、渲染器类型、渲染样式等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

技术创新《微计算机信息》2012年第28卷第10期120元/年邮局订阅号:82-946《现场总线技术应用200例》软件时空利用3-D 物体排序优化阴影体算法An optimization of shadow volume by ordering 3-D objects(长沙理工大学)王健徐蔚鸿WANG Jian XU Wei-hong摘要:本文提出一种基于点光源的物体排序阴影体算法。

方法是首先按与点光源的距离对场景中的物体进行排序,建立顺序图。

然后用z-pass 算法检测物体是否处于其他物体的阴影体中来判断物体是否被遮挡。

最后对没有被遮挡的物体用阴影体算法计算阴影。

实验分析表明该方法比传统的阴影体算法效率更高。

关键字:阴影;阴影体;排序;顺序图中图分类号:TP399文献标识码:AAbstract:A new shadow generation algorithm by ranking objects which based on point light source is presented in this paper.The main idea is to sort all objects in the scene by the distance between point light source and objects,and create sequence diagram.Then z -pass algorithm is used to detect whether the object is occluded.Finally,shadow volume algorithm is applied to build the shadows of objects not occluded.Experimental results show that this method is more efficient than the traditional shadow volume algo -rithms.Keywords:shadow;shadow volume;ordering;ordering graphic文章编号:1008-0570(2012)10-0504-021引言阴影是虚拟场景的重要组成部分,它能有效地表现出不同物体之间相对位置关系,增加图像的立体感和层次感,提高虚拟环境的真实程度。

但阴影生成计算量非常大,渲染具有阴影的场景需要大量的时间开销。

尤其是在处理大规模场景和多边形数量增加时,渲染速度降低明显,渲染效果无法满足视觉要求。

本文在阴影体算法的基础上,对场景中的物体进行排序(距离点光源从近到远)并生成顺序图。

先对离点光源近的物体生成阴影体,然后检测后续物体是否处在该阴影体中。

如果是则从顺序图中删除这些物体的节点。

在大规模场景中,本算法可以减少生成阴影物体的数量,达到提升阴影生成算法效率的目的。

2阴影体算法阴影体是根据光源和遮蔽物的位置关系计算出场景中会产生的阴影区域(shadow volume),然后对所有的物体进行检测,以确定其会不会受阴影的影响。

要构造一个阴影体,首先要根据光源与物体的相对位置找到所有的轮廓边。

轮廓边就是从光源角度看到物体的轮廓线,实际就是朝向光源的面和背向光源的面所共享的边。

确定轮廓边的方法有很多种,其基本思想就是找出那些朝向相反(一个面向光源,另一个背向光源)的两个三角形的共享边。

因为只有这样的边才会最终形成轮廓边,其它的边在光源看来都会在物体投影的内部。

具体算法如下:(a)遍历模型里面所有的三角形。

(b)计算入射光与三角形法向量的点积。

用这个结果判断三角形是面向光源(点积小于0)还是背向光源(点积大于0)(c)对于面向光源的三角形,将它的三条边压入一个栈,和里面的边进行比较,发现重复则删除这些边。

(d)检测完所有三角形的边后,栈里面剩下的就是当前光源、物体位置下的轮廓边。

检测完轮廓边后,根据光源方向,将这些轮廓边投射出去,就形成了阴影体。

3利用物体排序阴影体算法3.1、场景中3-D 物体的排序这部分将描述3-D 物体排序算法。

在给定点光源下,可对场景中所有物体按距点光源的远近进行排序。

对于任意两个物体,通过一个平面将它们分到两个子空间里面。

根据这可对任意两个物体进行排序,从而得到场景中所有物体的排序。

通过一个分割平面,所有的物体形成一个局部顺序。

图1三个物体组成的场景例如,如图1,参考点光源方向,用包含多边形P 2的平面对物体O 1,O 2进行分割,则O 2于O 1的尾部。

只要获得场景中所有的这样的局部排序,就能得到场景中所有物体的顺序。

为了描述局部顺序,可以定义一个顺序图。

图中的每一个结点代表场景中的物体,每一条有向边代表着边首尾结点的空间顺序。

例如,O i 位于O j 的尾部,则可用有向边<O i ,O j >表示。

在顺序图中,O i 在有向边的尾部,O j 在有向边的头部。

顺序图中所有的边可以由分割平面集分割场景中的所有物体所得。

只要生成了顺序图,场景中物体的顺序就可以通过顺序图中的拓扑关系得知。

顺序图有如下性质:(a)顺序图中的物体O i ,O j 存在有向边<O i ,O j >和有向边<O j,O i >,则O i ,O j 之间的顺序可以忽略,这两条边可以从顺序图中删除。

这意味着可以不用考虑这两个物体间的顺序,它们可以以任何顺序显示在场景中。

王健:硕士研究生504--邮局订阅号:82-946120元/年技术创新软件时空《PLC 技术应用200例》您的论文得到两院院士关注(b)如果在两个以上物体间存在循环<O i ,O j >,<O j ,O k >,<O m ,O i >,则无法得知这些物体间的顺序,因为不能获得它们之间的拓扑关系。

这种情况下,可以分割其中的一个物体来移除这个循环,以调整顺序图。

接下来描述物体排序算法。

以顺序图作为输入,输出产生物体的顺序。

定义:用代表3-D 物体的顶点集合和代表空间位置关系的边集合构成有向图G 。

在有向图G 中,当且仅当存在有向路径从顶点i 到顶点j,则顶点i 是顶点j 的后继。

在给定参考点下,物体i 位于物体j 的尾部。

如果i 是j 的后继,则j 是i 的前驱。

排序算法:输入:顺序图G =(O,E),其中O ={O i |O i 是场景中的一个3-D 物体}。

E ={E i |E i 是代表空间位置关系的一条边}通过对比任意两个物体构成。

输出:场景中所有物体的顺序。

(a)遍历顺序图中的每一个物体。

(b)如果每一个物体都有一个前驱,则说明顺序图中存在一个循环。

选择循环中的一个顶点,用分割平面把它分成两个物体,重构顺序图。

(c)选取一个没有前驱的物体O,输出O 。

(d)从顺序图中删除O 和由O 导出的所有物体。

3.2、场景中3-D 物体的阴影生成获得了场景中物体的顺序后建立数据库,查询顺序图中的第一个节点(距光源最近的物体),根据它与光源的相对位置检测轮廓边,然后投射阴影体。

遍历顺序图中的后续节点,用z-pass 算法检测物体是否处于阴影体中。

如果物体处于阴影体中,则从顺序图中删除这个节点,直到所遍历完所有节点。

查询顺序图中的下一个节点并生成阴影体,然后遍历后续节点,根据z-pass 算法检测处于阴影体中的物体并删除相应节点。

如此迭代下去,直到处理完所有的节点。

该算法描述如下:输入:顺序图G输出:场景中物体的阴影(a)对第一个物体进行轮廓边检测,生成阴影体。

(b)检测后续节点的物体是否在阴影体中。

如果在,则删除相应的节点。

(c)遍历更新后的顺序图,对后续的节点重复(a),(b)操作直到所有的节点经过处理。

(d)输出阴影。

4实验结果本文所用的算法在VS2008,OGRE 图形引擎上实现,运行于Intel Core2平台。

场景中含单个点光源,静态场景取恒定多边形个数。

图2为包含多个立方体的场景渲染图,点光源位于图中左上角,图中底部三个黑色矩形区域为场景中的立方体的阴影,立方体悬浮在空中。

分别用阴影体算法和基于物体排序阴影体算法绘制场景。

图2包含多个立方体的场景图表1实验数据实验结果如表1所示。

在固定光源、三角形面片数量的情况下,两种算法的阴影绘制效果相同。

基于物体排序阴影体算法的绘制效率要明显高于阴影体算法的绘制效率。

说明本文算法较传统阴影体算法性能有一定提升。

5总结与展望本文提出了一种物体排序算法来改进传统的阴影体算法,在实时场景绘制的预处理阶段生成场景中物体的顺序图。

按照顺序图中物体的顺序,首先生成距点光源最近的物体的阴影体,查询顺序图中处于该阴影体中的物体,删除相应节点。

更新顺序图后继续迭代下去直至所有的结点都处理完。

通过本文提出的算法,可以减少场景中生成阴影的物体,提高阴影生成的速度。

本文创新点有:提出一种基于点光源的3D 物体排序算法;与以往阴影体算法以多边形为基本处理单元不同,本文算法是以物体为基本单位进行阴影绘制的。

算法中间引入了面向对象思想。

本文无抄袭,作者全权负责版权事宜。

参考文献[1]屠建军,王璐,屠长河,孟祥旭.基于GPU 的风格模型平滑阴影的实时绘制[J].计算机辅助设计与图形学学报:2010,23(1):139-151.[2]刘列明,吴恩华.一种基于点光源的三维阴影的实时生成算法[J].软件学报:2000,11(6):785-790.[3]Brabec S,Seidel HP.Shadow volumes on programmable graphics hardware [J].Computer Graphics Forum:2003,25(3):241-252.[4]Xiao-Hua Cai,Yun-Tao Jia,Xi Wang,Shi-Min Hu,Ralph R.Martin .Rendering soft shadows using multilayered shadow fins[J].Computer Graphics Forum:2006,25(1):15-28[5]郝祥顺,杨旭波.可插值的领域过滤软阴影[J].微计算机信息:2009,11-3:156-159.[6]McCool M D.Shadow volume reconstruction from depth maps [J].ACM Transactions on Graphics,2000,19(1):1-26.[7]Frank D.Luna.DirectX 9.03D 游戏开发编程基础[M].北京:清华大学出版社2007:129-132.[8]Y.Chen,D.Wen,L.Jing,P.Shi.Shadow information recovery in urban areas from very high resolution satellite imagery [J].Computer Graphics Forum:2007,28(15):3249-3254.[9]越沁平,车英慧.基于Harr 小波的动态场景全频阴影绘制[J].软件学报:2010,28(3)2-10.作者简介:王健(1985-),男,汉族,湖南长沙人,硕士研究生,主要研究方向为计算机图形学、软件工程;徐蔚鸿(1963-),男,汉族,博士、教授,主要研究方向为人工智能、图像处理、模式识别、软件工程。

相关文档
最新文档