worldwind学习系列十

worldwind学习系列十

ID:11490837

大小:73.00 KB

页数:19页

时间:2018-07-12

worldwind学习系列十_第1页
worldwind学习系列十_第2页
worldwind学习系列十_第3页
worldwind学习系列十_第4页
worldwind学习系列十_第5页
资源描述:

《worldwind学习系列十》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、WorldWind学习系列十:RendableObject中的DirectX渲染分析——ImageLayer为例  学习WW有一段时间了,但是若想开发自己基于WW的插件,必然会遇到RendableObject中的DirectX渲染问题。所有需要渲染绘制的WW三维插件,最终是通过继承RendableObject并实现自己的Initialize()、Update()、Render()方法的。想写自己的Render()方法不是简单的事情,你必然要学习DirectX编程,否则,你连看懂示例中的底层Render()方法都很难,谈何开发自己

2、的插件。  为了突破DirectX编程对我学习WW插件的阻挠,我“快餐式”地突击学习了DirectX,对基本流程和基本原理有了一定认识。今天下午我也对BMNG插件中RendableObject子类——ImageLayer为例进行了分析学习。现在与大家分享一下。注:请务必先学过Direct3D学习(资料收集),否则看下面的内容无异于浪费你宝贵的时间。  ImageLayer重载实现的Initialize()方法。Initialize方法代码        /// 

        /// Layer initial

3、ization code        /// 

        public override void Initialize(DrawArgs drawArgs)        {            try            {        //获取绘制设备对象                this.device = drawArgs.device;                if(_imagePath == null && _imageUrl != null && _imageUrl.To

4、Lower().StartsWith("http://"))                {          //根据URL地址,在本地构建同样层次的文件夹路径。这里有个知识点getFilePathFromUrl()方法,自己定位学习                    _imagePath = getFilePathFromUrl(_imageUrl);                                    }                FileInfo imageFileInfo = null;  

5、              if(_imagePath != null)                    imageFileInfo = new FileInfo(_imagePath);                if(downloadThread != null && downloadThread.IsAlive)                    return;                if(_imagePath != null &&                     cacheExpiratio

6、n != TimeSpan.MaxValue &&                    cacheExpiration.TotalMilliseconds > 0 &&                    _imageUrl.ToLower().StartsWith("http://") &&                    imageFileInfo != null &&                     imageFileInfo.Exists &&                    imageFileI

7、nfo.LastWriteTime < System.DateTime.Now - cacheExpiration)                {                    //attempt to redownload it                 //启用新线程,下载影像图片。我稍后分析DownloadImage()方法,是重点之一                    downloadThread = new Thread(new ThreadStart(DownloadImage));      

8、              downloadThread.Name = "ImageLayer.DownloadImage";                                        downloadThread.IsBackground 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。