1. c++的qt和osg通俗的讲分别是干什么的
你好!
通俗的讲,qt是基于linux平台的图形界面,linux中也可以用来做c++的应用程序设计。
osg是opengl,图形界面程序,用来做图形图像处理的。
仅代表个人观点,不喜勿喷,谢谢。
2. 求助 osg编程贴图显示不出来
检查一下图片的路径,看看osgDB::readImageFile返回的指针是不是空的。既然能在Linux下运行,能猜测的无非就是路径问题了。
3. 如何构建一个osg earth,google earth类似的unity project
第1章:入门
欢迎使用 Google Earth ! 一旦您下载并安装了 Google Earth ,您的电脑就变成了一扇通往世界任何地方的窗口,您不但可以查看高清晰的卫星照片和航拍图片,还可以查询道路、街道、商家列表等,更多请阅读本章的逗 Google Earth 可以轻松做到的 5 件酷事地。
1.1 揭开 Google Earth 的神秘面纱
她是由 Google 公司开发的一款虚拟地球仪软件,她可以让我们每个人都有机会接触到世界上的任何一个角落,下面我们来认识一下她的主界面:
1、搜索面板(Search)– 用它来查找位置、行车路线或商业网点以及管理找到的结果
2、纵览窗口 (Overview map) – 显示当前 3D 视图的远景视图。
3、显示 /隐藏侧边栏(Hide/Show sidebar) - 单击这个图标可以显示或隐藏左侧边栏(包括 Search 、 Places 、 Layer 面板)。
4、添加地标(Add Placemark)– 在当前视图的中间位置创建一个地标。
5、多边形(Add Polygon)– 绘制多边形。
6、路径 /线(Add Path)– 绘制路线。
7、覆盖图(Add Image Overlay)– 将第三方的图片贴到 Google Earth 中,从而覆盖原来的卫星照片。
8、测量工具(Show Ruler) – 测量距离或面积。
9、太阳光 (Sun) – 显示太阳照射地球的景观。
10、星际模式 (Switch between Sky and Earth)– 在地球模式和星际模式之间切换,星际模式是 4.2 版本开始有的最令人赞叹的功能。
11、电邮(Email)– 将当前视图用电子邮件发送给朋友。
12、打印(Print)– 打印当前视图。
13、在 Google Maps浏览(View in Google Maps)– 单击这个图标会打开网页浏览器,将当前视图切换到 Google Maps 中浏览。
14、导航面板(Navigation controls)- 旋转、移动、缩放、倾斜视图 。
15、图层面板(Layers) - 列出 Google 预设的地标集,当你勾选其中的某个图层后,再放大或缩小地球的时候,就会在视图上显示该图层下的地标或者其它元素。
16、地标面板(Places) - 查找、保存、组织和重游地标。
17、增加内容( Add Content) - 可将 Google 官方网站精选的地标添加到地标面板里来。
18、3D视窗( 3D Viewer) - 浏览地球就是这里面进行,上文所说的 逗 视图 地 就是指这块区域。
19、状态栏( Status bar) - 从左到右分别显示经纬度坐标、图像下载进度和海拔。
1.2 Google Earth可以轻松做到的5件酷事
1.2.1 查找您的家、学校或者地球上的任意地点 – 点击 “Places” 面板中“Fly To”标签,在输入框中输入地址,然后点击逗搜索地按钮, Google Earth 就会列出匹配的搜索结果,双击其中的某条结果, Google Earth 就会逗飞地到该位置。
(搜索按钮)
【注:遗憾的是目前在中国只能找到一些大城市的名字,而且对汉字的支持并不理想,大多数情况还需要使用拼音】。
1.2.2 巡游世界 – 在 “Places” 面板中勾选 “Sightseeing” 目录,然后单击 逗 播放 / 漫游 地 (Play Tour)按钮:
1.2.3 查找两地间的行车路线,并漫游行车路线。– 请参见本手册后面的第二章节:《查找位置和行车路线》。
1.2.4 查看其他用户创建的特色内容 – 在 “Layers” 面板中,勾选 “Community Showcase”, 一些有趣的特色地标或者其它 Google Earth 元素就会显示在 3D 视图上,点击这些特色内容可了解更多信息。
1.2.5 观察三维地形 - 这个功能在浏览像山脉这样的较高的地形时尤为有趣,比如美国大峡谷(the Grand Canyon)、珠穆朗玛峰(Chomolungma)。先找到要查看的位置,再调节其倾斜度,就可以看到三维地形了。
1.3 4.3 版本的新功能
4.3 版本的 Google Earth 拥有很多令人振奋的新功能,例如:
Street View模式可以让您感受实实在在的街道景观。
太阳位置调整功能可以让您体验同一区域不同时刻的景观差异。
更多的3D建筑模型。
新增12种语言的支持。
Mac机上的地标描述也支持了Flash视频。
显示卫星照片拍摄的日期信息。
1.4 系统需求
在 Windows 中使用 Google Earth ,至少需要以下配置:
Microsoft Windows 2000 或 XP
奔腾 III, 500Mhz
128MB 系统内存
400MB 剩余硬盘空间
128Kb/ 秒的网速
带 16M 显存的 3D 显卡
屏幕分辨率 1024x768, 16 位增强色的显示器
1.5 切换语言
你可以切换 Google Earth 的显示语言。
在 Windows 和 Linux 上分别操作如下:
1、选择菜单 “Tools”>“Options”,然后在弹出窗口上选择 “General”标签
2、在 Language 区域,选择您所期望的语言。 注意: 初次安装后, Google Earth 会自动选择和当前计算机操作系统相同的显示语言,但如果系统所采用的语言尚未被支持,则会默认为英文版,比如:我们大陆地区大部分的操作系统使用的都是简体中文 Windows 系统,但 Google Earth 目前还不支持简体中文,所以就会默认显示为英文。
1.6 选择服务器
注意 : 这一节仅适用于 Google Earth Pro (专业版)和 EC (企业版) 用户。
当你第一次启动 Google Earth 企业版时,会弹出一个 “选择服务器” 的对话框,它可以让您选择一个合适的数据库服务器来使用,这个对话框包含如下设置:
Server :选择或输入一个合适的服务器地址。
Port :输入被选服务器的开放端口。
Always login to this server :勾选该复选框后,以后每次启动 Google Earth 都会自动登录服务器, 逗 选择服务器 地 的窗口也将不会再出现,如果您仍然希望启动时出现,请点击菜单: “File”>“Disable auto-login”。
Enable secure login :如果您的工作要求采用安全方式登录服务器,请勾选该复选框。
若您希望为 Google Earth 添加一个数据库服务器,请点击菜单 “File”> “Add Database”。 若希望退出当前服务器,请点击 “File”>“Server Log Out” ,若希望登录服务器,请点击 “File”>“Server Login” ,并且按照本节开始的说明进行适当的设置。
提示: 当你添加一个数据库服务器后, Google Earth 并不会断开当前的服务器连接,这时候,您浏览的数据将同时来自两个数据库,利用这种方式,您可以最多可以从 8 个数据库同步获取卫图数据。
1.9 浏览地球
您可以用多种方法来浏览地球及地形,比如 :
用鼠标操作
用导航面板操作
用键盘控制
下面先来看一段相关视频:
您还可以使用倾斜的方式来查看三维地形。当然,任何时候您都可以恢复到上北下南、垂直俯视的视角。
1.9.1 用鼠标操作
4. OSG在国内有没有工厂
OSG在上海松江有工厂。
OpenSceneGraph是一个开源的三维引擎,被广泛的应用在可视化仿真、游戏、虚拟现实、科学计算、三维重建、地理信息、太空探索、石油矿产等领域。
OSG采用标准C++和OpenGL编写而成,可运行在所有的Windows平台、OSX、GNU/Linux、IRIX、Solaris、HP-Ux、AIX、Android和FreeBSD操作系统。
5. linux osg插件怎么安装
一、Linux常用安装包及安装方法1、安装包一般有四类:
1)tar包,如software-1.2.3-1.tar.gz。他是使用UNIX系统的打包工具tar打包的。
2)rpm包,如software-1.2.3-1.i386.rpm。他是Redhat Linux提供的一种包封装格式。包的管理工具YUM
3)dpkg包,如software-1.2.3-1.deb。他是Den Linux提供的一种包封装格式。包的管理工具apt-get
4)bin包,如jdk-1_5_0_05-linux-i586.bin,有些Linux软件不公开源代码,只发布二进制可执行程序,这
类程序一般会以bin来标记。
2、tar一般安装方法
1)取得应用软件:通过下载、购买光盘的方法获得;
2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格
式,则能执行:“tar -xvzf 软件包名”,就能一步完成解压和解包工作。如果不是,则先用解压软件,再执
行“tar -xvf 解压后的tar包”进行解包;
3)阅读附带的INSTALL文件、README文件;
4)执行“./configure”命令为编译做好准备;
5)执行“make”命令进行软件编译;
6)执行“make install”完成安装;
7)执行“make clean”删除安装时产生的临时文件。
一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理
,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。
3、rpm包一般安装方法
只需简单的一句话,就能说完。执行:
rpm -ivh rpm软件包名
rpm参数 参 数 说 明
-i 安装软件
-t 测试安装,不是真的安装
-p 显示安装进度
-f 忽略所有错误
-U 升级安装
-v 检测套件是否正确安装
4、deb包一般安装方法
dpkg -i deb软件包名
如:dpkg -i software-1.2.3-1.deb
5、bin包一般安装方法
1)、打开一个SHELL,即终端
2)、用CD 命令进入源代码压缩包所在的目录
3)、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写)
4)、执行命令:./******.bin(realplayer for linux就是这样的安装包),执行安装过程中可以指定安装目录,类似于Windows下安装。
二、如何查找光盘中的rpm包
使用find命令查找光盘中的内容即可。比如要查找mysql相关的rpm包。可以执行如下命令:
find /media -name mysql*.rpm
说明:一般将光盘插入光驱,Linux系统会自动挂载,如上图,我的机器挂载点是/media目录。找到你需要的包名,直接安装即可。
6. 关于opengl和 osg的问题
简介
OpenSceneGraph是一个开放源码,跨平台的图形开发包,它为诸如飞行器仿真,游戏,虚拟现实,科学计算可视化这样的高性能图形应用程序开发而设计。它基于场景图的概念,它提供一个在OpenGL之上的面向对象的框架,从而能把开发者从实现和优化底层图形的调用中解脱出来,并且它为图形应用程序的快速开发提供很多附加的实用工具。
特性
有了OpenSceneGraph,我们的目标是让所有的人在场景图技术中受益,无论是商业还是非商业的用户。它完全是由标准C++程序和OpenGL写的,充分利用STL和设计模式,发挥开源开发模型的优势来提供一个免费的开发库,并且重点集中在用户的需求上。随着使用一个全特性的场景图OpenSceneGraph的关键优势在于它的性能、可扩展性、可移植性和快速开发(proctivity),更具体的来说:
性能
支持视图投影剔除(view frustum culling),隐藏面剔除(occlusion culling),小特性剔除(small feature culling),细节层次节点(LOD),状态排序(state sorting),顶点数组,顶点缓冲对象(vertex buffer objects),OpenGL着色语言和显示列表(display lists),以上所列都是场景图内核的一部分。它们共同使OpenSceneGraph成为一个高性能的图形库变为可能,OpenSceneGraph也支持绘制进程(drawing process)的定制,比如场景图的连续细节层次(CLOD)的网格(参见虚拟地形项目和Delta3D)。
快速开发
场景图的内核封装了包括最新扩展的大部分OpenGL功能,提供诸如剔除和排序的渲染优化功能,同样提供能快速开发高性能图形应用程序的一整套补充库。应用程序开发者可以更关心实质性内容和如何操控这些它们,而不再是底层的代码
??? 通过学习已有的场景图,比如:Performer和Open Inventor,把它们同像设计模式这样现代软件工程理念联合起来,加上早期开发周期中的大量反馈信息,设计一个清晰的可扩展的库已经成为可能。用户可以很简单的适应OpenSceneGraph并且把它集成到自己的应用程序中
数据装载
为了读入和写出数据库,有一个数据库的支持库(osgDB)增加了通过后缀名动态插件机制,从而支持大量数据格式,目前的发布版本有55种单独的插件支持3D数据和图像格式的装载。支持的3D数据格式包括COLLADA, LightWave (.lwo),Alias Wavefront (.obj),OpenFlight (.flt), 多线程页面调度支持的TerraPage (.txp),Carbon Graphics GEO (.geo), 3D Studio MAX (.3ds), Peformer (.pfb),AutoCAd (.dxf), Quake Character Models (.md2). Direct X (.x), and Inventor Ascii 2.0 (.iv)/ VRML 1.0 (.wrl), Designer Workshop (.dw) ,AC3D (.ac) 和自带的.osg ASCII 文本格式。支持的图像格式包括.rgb, .gif,.jpg, .png, .tiff, .pic, .bmp, .dds (包含压缩的一系列Mip贴图影像),.tga and quicktime (在OSX环境下),全范围的高质量、抗锯齿字体也能通过freetype插件支持,基于字体的图像也可以通过.txf插件支持。
用户也可以通过与我们同行的一个项目(VirtualPlanetBuilder)生成大规模地形空间数据(multi GB),使用OpenSceneGraph的自带数据分页调度支持来查看这些数据。
节点工具箱
这个场景图同样有一套节点工具集,它们是可以在你的应用程序中编译或者在运行时装载的独立库,它们增加支持粒子系统(osgParticle),高质量抗锯齿文本(osgText),特效框架结构(osgFX),阴影框架结构(osgShadow),交互控制(osgManipulator),与虚拟仿真相关的效果(osgSim)。
可移植性
场景图的内核已经被设计成尽量少的依赖具体的平台,很少的部分超出了标准C++程序和OpenGL。这就使得这个场景图可以快速移植到大部分系统中—最开始在IRIX开发,然后移植到Linux,接着到Windows,再后来就是FreeBSD, Mac OSX,Solaris,HP-UX, AIX 甚至是PlayStation2!
完全独立与窗口操作系统的场景图内核库使得用户在它上面可以增加他们自己的指定窗口库和应用程序,在发布版本中osgViewer库提供自带窗口支持,可支持Windows (Win32), Unices (X11) 和 OSX (Carbon)。osgViewer库也可以轻松的和你的窗口开发包集成起来,作为OpenSceneGraph-2.0发布版本的一部分,有例子演示了如何在Qt, GLUT, FLTK, SDL, WxWidget, Cocoa and MFC中的使用。场景图内核的可扩展性使得它不仅仅可运行在便携式设备,甚至高端的多核、多GPU的系统和集群上。这可能是因为场景图内核为OpenGL的显示列表和纹理对象支持多重图形渲染环境(multiple graphics contexts),剔除和绘制的遍历过程被设计成隐藏渲染数据为局部变量,这样可以以几乎只读的方式使用场景图内核。这样就允许多对剔除—绘制过程运行在多个CPU上,CUP也是绑定在多个图形子系统之上。对多图形设备渲染环境和多线程的支持可以在osgViewer中方便使用,发布版本中所有的例子都可以以多线程和多GPU的方式运行。作为社区项目,OpenSceneGraph支持多种语言,比如Java,Lua和Python。