今天写一个demo,要用到鼠标键盘控制三维视角,因此写了个脚本用于控制。该脚本可以用于即时战略类游戏的视角,提供了缩进,拉伸,旋转。同时按住鼠标右键不放,移动鼠标可以实现第一人称视角的效果。 1 using UnityEngine; 2 using System.Collections; 3 4 ....
分类:
编程语言 时间:
2015-01-16 22:12:00
阅读次数:
571
以前从来没有想过.Net开发居然存在内存无法释放的问题,总是认为GC给我处理好了一切。现在GIS二次开发结合三维球开发,没有想到存在如此严重的内存增长,很快内存就不够用了,导致系统各种不稳定。球体就开始闪烁,无法创建设备,OutOfMemory1.慎重使用单例,单例会始终保持一个静态对象的引用,内存...
分类:
Web程序 时间:
2015-01-16 09:50:03
阅读次数:
262
商业引擎中为了提高绘图效率,所以要尽量减少提交到图形加速卡的数据量.所以就有了分批渲染的概念.渲染不同的材质或者模型都会导致渲染状态改变,每一个改变都会触发新的绘图的操作,所以尽量减少渲染状态的改变就可以节省硬件的耗时.图层:数据集被加载到地图或三维场景中显示时被称为图层.图层是数据集的可视化定义....
分类:
其他好文 时间:
2015-01-15 19:55:45
阅读次数:
112
在做GIS时, 地球周围会有一个大气圈, 大气散射, 这个方面的算法是计算机图形学界不断深入研究的领域, 不过目前有几个成熟的散射算法. 我借鉴了>第16章的算法,实现了一个大气散射. 效果如图.
图中蓝色的天空,就是散射的效果, 具体算法请自行查看书上的算法吧.
步骤:
1: 创建一个椭球, 生成顶点,与顶点索引数组. 这个椭球生成算法后续贴出...
分类:
其他好文 时间:
2015-01-15 18:14:40
阅读次数:
379
效果图如上:步骤:请看注释,这里略。实现代码,有3个文件,如下:1、main.cpp 1 /********************************************************************** 2 3 Camera with OpenGL ...
分类:
其他好文 时间:
2015-01-15 15:56:48
阅读次数:
597
题目描述
大戈壁越野赛前后分为很多赛段,一个车队也有多辆车。一个车队在一个赛段只能使用一辆车,但是到达赛段中转站(分隔各赛段的点)时可以任意更换车辆,当然也可以不换。在不同赛段,不同的车有着不同的表现,如果规则不限定换车次数,显然可以在每一个赛段都用最好用的车,但很不幸,换车次数有限定,那么,安排一个合理的换车策略十分重要。我们认为,车队可以选择任意一种车开始赛程,不算换车次数。
现在依次给出...
分类:
其他好文 时间:
2015-01-14 18:02:00
阅读次数:
180
效果图如上:步骤:请看注释,这里略。实现代码如下: 1 #include "windows.h" 2 #include 3 4 // 三者的大小比例 5 #define SunSize 0.4 6 #define EarthSize 0.06 7 #define MoonSize ...
分类:
其他好文 时间:
2015-01-14 12:45:12
阅读次数:
620
效果图如上:步骤:首先,设置模型视角往后退,再旋转视角;然后,用默认绘制立方体函数绘制;最后,利用空闲对模型做角度微调。实现代码如下: 1 #include 2 3 GLfloat xRotated, yRotated, zRotated; 4 5 void Display(void) 6 {...
分类:
其他好文 时间:
2015-01-12 18:56:38
阅读次数:
153
效果图如上:步骤:略实现代码如下: 1 #include "windows.h" 2 #include 3 4 #define SunSize 0.4 5 #define EarthSize 0.06 6 #define MoonSize 0.016 7 8 GLfloat S...
分类:
其他好文 时间:
2015-01-12 18:50:09
阅读次数:
273
通过前面讲解的内容,读者已经了解了如何在三维空间中使旋转对象绕指定的旋转中心旋转一定的角度。接下来在这个基础上进一步讲解如何对旋转对象进行平移。下面首先介绍一下用到的几个属性。 q LocalOffsetX,沿旋转对象平面的X轴平移对象。 q LocalOffsetY,沿旋转对象平面的Y轴平移对象。...
分类:
移动开发 时间:
2015-01-12 17:29:32
阅读次数:
224