三维场景中模型纹理按距离压缩方法

原创 2013年12月05日 10:34:19

三维场景中模型纹理按距离压缩方法,在ArcEngine中的接口为

 

pGlobeLayerProperties5.SetDistanceThresholdsExt(lodShift0, maxDistance0, lodShift1, maxDistance1, lodShift2); 

 

具体的应用方式为

 

           //获取要进行纹理压缩控制的图层,getLayerFromScene为遍历GlobeControl中所有图层的函数

            ILayer layer = Common.GlobeUtil.getLayerFromScene(_globeCtrl3D.GlobeDisplay.Scene, "Buildings");

            IGlobeDisplayLayers2 pGlobeDisplayLayers2 = _globeCtrl3D.GlobeDisplay as IGlobeDisplayLayers2;

            IGlobeLayerProperties5 pGlobeLayerProperties5 = pGlobeDisplayLayers2.FindGlobeProperties(layer) as IGlobeLayerProperties5;

            int lodShift0 = 0;

            double maxDistance0 = 30;

            int lodShift1 = 1;

            double maxDistance1 = 50;

            int lodShift2 = 0;

            //double maxDistance2 = 0;

           //获取压缩距离

            pGlobeLayerProperties5.GetDistanceThresholdsExt(out lodShift0, out maxDistance0, out lodShift1, out maxDistance1, out lodShift2);

            lodShift0 = 0;

            maxDistance0 = (double)numericUpDown1.Value;

            lodShift1 = 1;

            maxDistance1 = (double)numericUpDown2.Value;

            lodShift2 = 2;

            //double maxDistance2 = 0;

           //设置压缩距离

            pGlobeLayerProperties5.SetDistanceThresholdsExt(lodShift0, maxDistance0, lodShift1, maxDistance1, lodShift2);

            pGlobeLayerProperties5.ApplyDisplayProperties(layer);

            _globeCtrl3D.GlobeDisplay.RefreshViewers();

 

 

可以设置为2级,即第一级距离内的为精模型,第一级和第二级之间的为经过纹理压缩的模型,第三极之外为白模型

 

如下图

30-50

 

 

30-80

 

60-80

 

 

三维模型的数据格式

摘录自【三维网格模型层次分割及骨架提取】           三维网格模型可以灵活和逼真的表示现实中的物体,随着计算机硬件快速的发展,人们对三维网格模型的需求也日益增多。三维模型的数据格式有很多种...
  • dongleivip
  • dongleivip
  • 2013年12月08日 19:34
  • 3687

常用3D建模工具的材质编辑与纹理贴图方法

1.采用程序的方法简化纹理贴图的几种情况 (1)采用程序的方法构建3D模型时,可以很方便的确定物体面的坐标与纹理坐标,就采用物体坐标与纹理坐标相关联的方法来实现纹理贴图; (2)交互式的纹理贴图(...
  • gridrender
  • gridrender
  • 2016年06月20日 23:34
  • 1583

OpenGL中三维纹理对象的使用

纹理对象用于存储纹理数据,以便随时使用它们。我们可以控制多个纹理,并可以返回到以前加载到纹理资源的纹理。使用纹理对象通常是应用纹理的最快方法。       一个三维纹理对象呢在s,t,r纹理坐标轴方...
  • kangxidashen
  • kangxidashen
  • 2014年03月09日 18:40
  • 1547

在ArcScene中导入显示自己在SketchUp创建并经过修饰的模型

前两天看了网上的一些帖子,查了一下相关资料,大概了解了一下,简单总结一下:   原来我是用3D Mark Symbol方法,将已创建的3D模型(*.dae)替换为点要素,不得不说这种方法很方便。但是...
  • sk623
  • sk623
  • 2015年11月24日 16:56
  • 2034

SuperMap 平台中三维模型的常见问题及解决办法

详细内容请下载完整文章:http://download.csdn.net/detail/supermapsupport/9800016 在客户使用 SuperMap 平台进行三维模型场景配置时经常会遇...
  • supermapsupport
  • supermapsupport
  • 2017年03月31日 18:03
  • 1375

OpenGL 中的三维纹理操作

#define _CRT_SECURE_NO_WARNINGS   #include #include #include     #define WindowWidth  400 ...
  • csunking
  • csunking
  • 2015年05月10日 08:52
  • 554

Supermap iDesktop中三维缓存生成和使用

Supermap iDesktop中三维缓存生成和使用 缓存技术是目前主流地理信息系统中普遍采用的一种图形显示技术手段。该技术大大缩短了用户的等待时间、提高了工作效率、使图形数据的浏览速度变得更...
  • supermapsupport
  • supermapsupport
  • 2015年11月13日 17:25
  • 3250

基于 HTML5 的 WebGL 技术构建 3D 场景(一)

HT for Web 提供了多种基础类型供用户建模使用,不同于传统的 3D 建模方式,HT 的建模核心都是基于 API 的接口方式,通过 HT 预定义的图元类型和参数接口,进行设置达到三维模型的构建。...
  • u013161495
  • u013161495
  • 2016年07月13日 00:51
  • 5664

个人理解的 纹理压缩

2. 压缩纹理的必要性 1)首先要说一下图像文件格式和纹理格式的区别。 常用的图像文件格式有BMP,TGA,JPG,GIF,PNG等; 常用的纹理格式有R5G6B5,A4R4G4B4,A1R5G5B5...
  • aa20274270
  • aa20274270
  • 2016年12月24日 17:51
  • 833

纹理相关知识整理

原文地址:http://www.cnblogs.com/helinsen/archive/2012/08/01/2618539.html 纹理是增强计算机生成的三维图像的真实感的有力工具。Mic...
  • puppet_master
  • puppet_master
  • 2015年11月13日 16:36
  • 1007
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三维场景中模型纹理按距离压缩方法
举报原因:
原因补充:

(最多只允许输入30个字)