unigine 下载做大地形渲染是不是最好的?

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于GPU的大规模地形快速渲染技术研究.pdf66页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
国防科学技术大学
硕士学位论文
基于GPU的大规模地形快速渲染技术研究
姓名:高辉
申请学位级别:硕士
专业:控制科学与工程
指导教师:张茂军
座机电话号码
围防科学技术大学研究生院T学硕十学位论义
随着卫星与遥感技术的发展,地形数据的分辨率越来越高,导致地形数据规
模越来越大,海量数据的存储、传输、调度以及处理都为实时渲染带来了困难,
基于CPU的地形渲染已经不能满足应用的要求。
本文研究一种基j二GPU的大规模地形快速渲染技术。该技术主要从纹理图像
的调度与渲染、三维网格模型的构建两方面入手,适当地把原来CPU的工作转移
方面提出了基于GPU的大规模地形纹理调度与渲染机制。并在分析GPU并行讣
算的优缺,、I的基础上,提出了一套基于小波变换和矢量量化的图像压缩算法,然
后通过GPU直接编程单独完成了该压缩方法的解压部分,这是基于GPU的大规
模地形纹理调度与渲染的核心。实验结果表明基于GPU的大规模地形纹理调度与
渲染技术应用于大面积三维地形仿真巾,可以有效提高实时渲染效果。
在i维网格模型的构建中,主要解决的问题集中在数字高程数据的简化方面。
首先提出了基J。小波分析的高程数据的简化与多分辨牢表示方法,然后通过GPU
直接编程来实现小波变换与反变换。实验证明在变换速度上,GPU比CPU具有明
显优势,保证了基于小波分析的高程数据的简化方法能够付诸实施,并且得到了
比较满意的效果。
正在加载中,请稍后...  实时3D引擎Unigine
  Unigine是一个跨平台的实时3D引擎。它站在了技术的前沿,并提供互动的虚拟世界(现代游戏和虚拟现实系统的最终目标)。
  该引擎包含了逼真的三维渲染,强大的物理模块,对象具有非常丰富的图书馆导向的脚本系统,全功能的GUI模块,声音子系统,以及灵活的工具。高效率和良好架构的框架,支持多核系统,使Unigine具有一个高度可扩展的解决方案,对其中的多平台类型游戏的影响颇多。
  Unigine?是一流的技术,可以很容易适应,因为它阐述了软件设计和灵活的工具的各种项目。阿我们的许多客户声称他们从来没有见过这样一个非常有效的代码,这是很容易理解。它已经用在(主要是游戏)不同项目的发展。
  技术卓越
  ●高效率和良好架构的框架使Unigine高可扩展性:
  ●强大的API(支持DirectX &Direct3D&9,10,11 / OpenGL)渲染
  ●跨平台:微软Windows(XP,Vista,Windows 7)/ Linux
  ●完整的32位和64位支持系统
  ●多核CPU的支持
  ●服务器/客户端支持(准备游戏机)
  ●强大的C + + API
  ●综合性能分析系统
  ●灵活的基于XML的数据结构
  真实感图形
  ●一张图片描绘了千言万语。随着Unigine您的场景看起来真实感:见画廊更多截图...
  ●Unigine提供了最先进的渲染功能有史以来图形硬件支持。高度优化的渲染确保出色的图像质量和强大的性能。
  ●所有现代的功能支持Unigine渲染:
  ●每个像素的动态照明
  ●正常和视差映射
  ●64位HDR渲染
  ●体和轻
  ●强大的粒子系统:火,烟雾,爆炸
  ●扩展设置阴影(绿光/HLSL)
  ●后处理:外地,折射,焕发深度,模糊,色彩校正等。
  除此之外,还有一个由Unigine提供最热门的技术标准:
  ●支持Shader Model 5.0支持
  ●五金镶嵌
  ●(屏幕空间环境闭塞)
  ●独特的材料,系统参数的层次结构的支持
  ●植被特殊材料
  ●辐射环境的
  ●生活用水的冲浪区和焦散
  ●原生支持立体声3D设备
  此外,Unigine 1.0支持6代图形处理器的事件如出一辙:/ R300到最新的,所以它的高度可扩展。作为一个NVIDIA和AMD(以往ATI)的,我们与硬件厂商密切合作,注册开发,以获取最佳效果。
  无限世界
  ●没有太多的界限! Unigine允许创建作为世界大如你喜欢:
  ●动态数据流在后台
  ●对indor和户外场景的无缝连接
  ●支持优化
  ●先进的检测限系统
  ●广阔的地形
  全场列化是另一种Unigine独特的功能,让您快速保存和恢复世界上每一个单个对象的状态。
  真实物理
  ●您想作为互动与真实的虚拟世界?这里是一个为这个快速和强大的物理模块:
  ●刚体物理学
  ●布娃娃物理
  ●粒子系统物理
  ●Destroyable接头
  ●各种车辆
  ●时间反向特征
  多线程的Unigine物理学的核心是高度优化,可以工作在多核平台上与其他子系统并行。每对象调谐性能,让美好的控制性能。
  强大的脚本
  ●UnigineScript是一种脚本语言的Unigine引擎使用,它提供了以下主要特点:
  ●面向对象编程
  ●易于学习的语言(类似于C + +的语法)
  ●透明互连与外部C + +对象
  ●内置的3D数学(向量,矩阵和四元数与所有相应的功能)
  ●内置调试器和性能分析器
  ●证据充分的非标准库(超过3000个功能外的框)
  UnigineScript是非常强大的,例如,我们的可视化编辑器编写的脚本编写办法的。有一个全面的虚拟机状态保存和引擎盖下,这是非常快,由于高效的字节码编译器和优化恢复。
  图形用户界面
  ●Unigine完全有能力提供了一个图形用户界面模块:
  ●一套全面的构件,集装箱和对话
  ●3D效果,透明度,动画
  ●易于使用的用户界面的XML格式的文件
  ●皮肤支持
  ●东方语言支持
  ●本地化包支持
  这个模块是用来建立Unigine工具的所有接口,因此它们的外观和感觉是平台独立的。此外,交互式三维图形用户界面,可放置在一个虚拟世界,甚至任意曲面。
  3D音效
  ●支持各种声音和音乐的虚拟环境:
  ●体积音响系统
  ●流媒体播放支持
  ●EAX支持
  ●互连与物理事件
  准备好使用对象
  ●有一些在Unigine基对象,包括提供很多:
  ●动画与动画混合网格支持
  ●动态网(生成快速切换)
  ●广告牌
  ●动态容积对象
  ●字符
  易于使用的工具
  ●Unigine工具形成了竞争的内容管道:
  ●强劲的出口/使用3ds Max和Maya插件进口
  ●快速网/动画浏览器
  ●普通地图生成器和合成器
  ●发电机的环境闭塞地图
  ●地形编辑器
  ●一批高品质的压缩算法,图像转换器
  ●数据加密工具
  这些工具都可以轻松集成到具体项目,由于其高灵活性的进程。
UnigineEditor
  UnigineEditor是一个编辑Unigine的主要工具为基础的虚拟世界。这是一个所见即所得的编辑器,让您可以即时看到您的场景变化。
  ●管理对象,效果和灯光
  ●编辑物理特性
  ●精细调整渲染设置
  ●材质编辑器的层次结构的支持
  ●内容优化不同观看模式
  ●内置的性能剖析
  ●编译时零
  这种快速学习可视化编辑器可以很容易地扩展,以满足项目特定需求。
  有效的支持
  我们的客户从Unigine开发团队的直接支持。技术支持(英文和俄文两种)提供通过电子邮件和电话。
  新的Unigine很多功能最初提出我们的顾客。我们重视他们的反馈,因为我们的目标是使他们的项目的成功。
  即时改善
  Unigine发展非常迅速地向前推进。我们的客户获得SDK更新每两个星期。它们可以跟踪记录在我们的发展。
  两个版本可Unigine许可证:二进制和全部源代码的。请参阅许可页的价格和订货进一步的指示。
  我们很乐意为使Unigine技术的威力到您的项目。
为本词条添加和相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
您也可以使用以下网站账号登录:
此词条还可添加&
编辑次数:3次
参与编辑人数:3位
最近更新时间: 15:21:24
贡献光荣榜
扫描二维码用手机浏览词条
保存二维码可印刷到宣传品
扫描二维码用手机浏览词条
保存二维码可印刷到宣传品UNIGINE 可能是 Linux 上最好的游戏引擎
评论: &&&&
UNIGINE,是一个实时的 3D 引擎,它能够在所有主流的平台上运行,包括 Linux,并刚刚升级到新的版本,带给了我们一些重要的新特性。
Unigine 引擎正是由 Unigine 公司开发的, 同时这公司还开发了 Heaven DX11 基准测试软件。 这公司开发的技术总是越来越好,并且随着他们最近在 Linux 平台上的扩展,我们真的很高兴看到这引擎在最近时间作出的重大的更新。
在 UNIGINE 引擎最近作出的更新中,最大的更新是通用图像生成器接口 (Common Image Generator Interface/CIGI) 协议。
据引擎的开发者说,这个接口在模拟行业中,是一种用于主机设备与图像生成器 (IG) 之间通信的标准方法来的。
新款 UNIGINE 引擎的亮点
在笛卡尔坐标系中增加了对 WGS84,ECF 和 NED 坐标系的支持(这会帮助开发者更好地在用 Unigine 开发的项目中使用实时的 GIS 数据);
实施了游戏框架,这样使得游戏更加容易地创建,同时这种特性包括实体与节点的自动链接、层次与世界的自动链接、实体对象管理、贯穿所有层次的游戏全局上下文、事件处理系统、最佳的实体更新等等。
增加渲染时帧率的稳定性。
两个新的选项,2D 噪音和 3D 噪音(编辑器中的状态选项卡),已被添加到 meshleafbase 材质中。
一个新的参数,遮挡屏蔽,已经被添加到所有的材质中。
密杂草丛的高度现已实现同步。
修复了在渲染非 Flash 闪屏时崩溃的漏洞。
所有平台的完整新特性列表,可以在官方的中找到。.
要记住 UNIGINE 引擎只针对商业企业,并不向广大用户提供试用版。
译者: 校对:
原创翻译, 荣誉推出
上一篇:下一篇:
分享到微信朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。分块LOD大规模地形实时渲染算法_论文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
中国最大最早的专业内容网站
评价文档:
&购买后可评价
您可以上传图片描述问题
联系电话:
请填写真实有效的信息,以便工作人员联系您,我们为您严格保密。
分块LOD大规模地形实时渲染算法
试读已结束,如果需要继续阅读或下载,敬请购买
你可能喜欢渲染地形解决思路 - GIS当前位置:& &&&渲染地形解决思路渲染地形解决思路&&网友分享于:&&浏览:18次渲染地形很多3D游戏都需要地形,建立并渲染地形,再加上物理效果,比如驾驶一辆小汽车在场景行使,你会觉得这很困难。而这篇文章将讲解这种技术。为了编译其中的程序代码,你需要:一个C#编译器,最好是Visual Studio .NETDIRECTX9.0c开发工具一块显卡并且支持shader2.0以上,因为除非你不想它运行的很慢。(比如只有10FPS)我只是推荐你,最好精通C#,和Managed DirectX。开始,首先你在渲染地形时,通常是用到一张带灰度信息的位图。这通常是一个容易的手段。这篇文章介绍的是使用一种灰度高度比例贴图。这就是我用到的贴图,你也可以自己去修改它。我们将用两个纹理,一个草地,一个土地。地形比较高的部分用草地文理。我们将两种纹理混合在一起,这就是根据位图的灰度做到的。这里用到一种语言High Level Shader Language熟悉它你就会知道这是使用更高级的顶点和纹理的渲染方式。由于HLSL和C很相似,所以懂C的可以不费劲掌握它。以下的就是将两个纹理混合的HLSL程序:float4x4 WorldViewPfloat4void Transform( &
in float4 inPos
: POSITION0, &
in float2 inCoord
: TEXCOORD0,&
in float4 blend
: TEXCOORD1, &
in float3 normal
: NORMAL,&
out float4 outPos
: POSITION0, &
out float2 outCoord
: TEXCOORD0, &
out float4 Blend
: TEXCOORD1, &
out float3 Normal
: TEXCOORD2, &
out float3 lightDir
: TEXCOORD3 ){ &
outPos = mul(inPos, WorldViewProj); &
outCoord = inC &
Normal = normalize(mul(normal,WorldViewProj)); &
lightDir = inPos.xyz -& }看上去HLSL和C的语法结构相似:再调节名称时,input,output变量前经常会有语意的定义。input通常是从程序中接受变量然后传导output。你也许注意到TEXCOORD被使用了很多次。这是因为TEXCOORD在程序中使用了多次,一个变量不提供位置,法线等。而HLSL包含了计算函数如mul(),normalize().在MSDN里可以知道使用方法。想知道更多关于HLSL方面的知识。推荐去访问相关的一些网站。现在解释一下HLSL代码含义:首先input接受position,position在这里是和投影矩阵相乘之后得到的。顶点将被移动到相机的空间。input接受纹理坐标并混合两种纹理。法线也被移动。最后平行光被减去光源的坐标(该例,世界空间是和对象空间一致的所以不会有改变)将其传给像素渲染,以下是像素渲染代码:Texture Texture1;Texture Texture2;sampler samp1 = sampler_state { texture = &Texture1&;& minfilter = LINEAR; mipfilter = LINEAR; magfilter = LINEAR;};sampler samp2 = sampler_state { texture = &Texture2&;& minfilter = LINEAR; mipfilter = LINEAR; magfilter = LINEAR;};float4 TextureColor( &
in float2 texCoord
: TEXCOORD0, &
in float4 blend
: TEXCOORD1, &
in float3 normal
: TEXCOORD2, &
in float3 lightDir
: TEXCOORD3) : COLOR0{ &
float4 texCol1 = tex2D(samp1, texCoord*4) * blend[0]; &
float4 texCol2 = tex2D(samp2, texCoord) * blend[1]; &
return (texCol1 + texCol2) * (saturate(dot(normalize(normal),&
normalize(light)))* (1-ambient) + ambient);}正象你所看到的,像素渲染器使用了所有顶点渲染器中的变量,除了POSITION0,因为POSITION0是所有输出所用到的。首先两个纹理将用tex2D()做计算,tex2D()不影响文理只是一个处理器而已。这些颜色根据混合值相乘并加上光线的密度,然后反回结果。返回值是float4由COLOR0语法做了标记。每个像素渲染器都要返回一个这样的值。再回到C#为了使程序和SHADER通信,必须有顶点声明。将通知DIRECTX数据在顶点缓冲以及相关的input顶点渲染变量,以下是顶点声明代码:VertexElement[] v = new VertexElement[]& {&
new VertexElement(0,0,DeclarationType.Float3,DeclarationMethod.Default, &
DeclarationUsage.Position,0), &
new VertexElement(0,12,DeclarationType.Float3,DeclarationMethod.Default, &
DeclarationUsage.Normal,0), &
new VertexElement(0,24,DeclarationType.Float2,DeclarationMethod.Default, &
DeclarationUsage.TextureCoordinate,0), &
new VertexElement(0,32,DeclarationType.Float4,DeclarationMethod.Default, &
DeclarationUsage.TextureCoordinate,1),&
VertexElement.VertexDeclarationEnd};& decl = new VertexDeclaration(device,v);正如你看到的,顶点声明包含一个数组VertexElements描述了顶点的结构。说道结构,你不能自己定义一个CustomVertex,因为每一个文理参数必须精确到每一顶点。所以结构必须是以下:public struct Vertex{ &
float tu, &
float b1,b2,b3,b4;&
public Vertex(Vector3 p,Vector3 n, &
float u,float v,float B1,float B2, &
float B3, float B4, bool normalize) &
pos =nor =tu =tv = &
b1=B1; b2=B2; b3=B3;b4 = B4; 共&2&页:
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有

我要回帖

更多关于 unigine 源代码 的文章

 

随机推荐