1.2 三维场景动态生成正射纹理-人机交互实现区域框选

 三维场景动态生成正射纹理-人机交互实现区域框选

       本文展示如何通过辅助相机,将一定范围三维场景正视图动态渲染到纹理。首先将倾斜模型添加到三维场景中显示;接着以人机交互的方式绘制一个多边形区域;然后以多边形区域作为约束区域,架设辅助相机,设置相机渲染绑定的纹理;最后将辅助相机添加到主场景,实现渲染。


目录

  • 1 人机交互实现区域框选

内容

       在OSG的帧循环中,有三个遍历,即事件遍历、更新遍历、渲染遍历。其中处理事件响应的为事件遍历。osgGA中针对事件定义了一系列的类。通常情况下通过继承GUIEventHandler类重写其handle函数得到新的子类,接着将新的子类对象添加到EventHandler队列中(osg::View提供了addEventHandler接口),从而实现自定义事件的响应与处理。

  • 1 人机交互实现区域框选

       区域框选可分解为三个鼠标事件,即鼠标左键点击、鼠标移动、鼠标右键点击。鼠标左键点击从而确定点的选取,鼠标右键点击结束多边形的选取,而鼠标移动记录临时点,表示多边形的临时形状,待鼠标左键后确定临时点作为确认点。有如下四个方面需考虑:1)重写的handle函数需响应三种鼠标事件,同时需要一布尔变量记录当前鼠标所在点是否为临时点;2)需一布尔变量记录多边形的选取是否处于激活状态;3)同时为了防止意外点击,通过判

你可能感兴趣的:(Cesium+三维,java,servlet,服务器)