查看: 4961|回复: 9

linux + android + osg

[复制链接]

该用户从未签到

发表于 2012-11-17 23:54:55 | 显示全部楼层 |阅读模式
本帖最后由 woshishui 于 2013-8-23 23:13 编辑

想了半天也不知道怎么取标题。国内用linux进行osg开发的朋友较少,恐怕是因为前三脚难踢的缘故。我把自己的学习历程一点一点发上来,也算是一个记录,或许对别人有些帮助。顺便打个广告,对在Android上开发osg应用感兴趣的同学,可以联系我,一起学习。
我的开发环境已从64bit ubuntu12.10移至fedora17。。

1. 开发环境
工作开始前,要确认自己的显卡驱动是否正常工作。我的显卡是ATI显卡,执行 glxinfo即可查看,如果你看到的是BAD REQUEST之类的错误或无意义的字符,那很不幸,显卡驱动没正常安装。提醒各位同学,X11能工作并不意味着你的显卡驱动正常 工作了。

关于OSG的安装:我当然是强烈推荐你自己本地编译了。奇怪的是官网仍在用SVN作配置管理,至于什么时候会迁移到git,且等着看了。github 上有git仓库,从更新频度来看,是与官方svn仓库桥接的,自动更新。git克隆:git clone http://github.com/openscenegraph/osg.git
ubuntu
在ubuntu12.10上,我先按照 android 官方的建议 http://source.android.com/source/initializing.html 安装了开发 包。之后又安装 了如下开发包:
sudo apt-get install libzthread-2.3-2 libxml2-dev libcurl4-nss-dev libqt4-dev libopenal-dev libsdl1.2-dev libjpeg-dev libtiff5-dev libpoppler-glib-dev librsvg2-dev libgtk2.0-dev libgtkglextmm-x11-1.2-dev doxygen graphviz
fedora
在fedora17上
su
yum install git-core gnupg.x86_64 flex bison gperf curl zlib.x86_64 ncurses-devel.i686 readline-devel.i686 mesa-libGL-devel.x86_64  dos2unix.x86_64 python-markdown.noarch libxml2.x86_64 libxslt.x86_64 perl-Switch libzip-devel.i686 libstdc++.i686             mingw32-* mingw32-gcc.x86_64 mingw32-gcc-c++.x86_64 注意这几个标红的库,它们是用来编译win SDK的,但要修改makefile,android默认使用ubuntu开发。总之很鸡肋。

yum groupinstall "Development Tools"
yum install lbzip2.x86_64 libxml2-devel.x86_64 libcurl-devel.x86_64 qt-devel.x86_64 openal-soft-devel.x86_64 SDL-devel.x86_64 libjpeg-turbo-devel.x86_64 libtiff-devel.x86_64 poppler-glib-devel.x86_64 librsvg2-devel.x86_64 gtk2-devel.x86_64 gtkglextmm-devel.x86_64 graphviz.x86_64 gnuplot.x86_64 wget
2. 安装osg
下载代码后,在代码目录下执行linux上开源软件的标准三步操作即可:1 ./configure 2 make 3 sudo make install.
我建议你执行完第一步configure操作后,仔细看一看输出信息,并逐个修复安装那些缺少的插件,但这个不必须,可以往后放一放。软件开发里实践是重中之重,当前最重要的是搞出第一个hello world。

3. hello world
附件算是我的第一个hello world,抄自《OpenSceneGraph Quick Start Guide 》。如果你用32bit系统,下载后可能需要修改Makefile中的-L/usr/local/lib64 为-L/usr/local/lib, 不过手头没有32bit系统,不太确定了:(

如果附件中的代码在你机器上编译通过了,在代码目录下运行./my-exec 应该能生成Simple.osg。
quick_start.tar (10 KB, 下载次数: 49)

该用户从未签到

发表于 2012-11-19 10:25:13 | 显示全部楼层
Linux上编译的方法并无太大的区别,安装了cmake之后用管理员权限运行cmake-gui,然后拖动CMakeLists.txt到其中即可,其它的配置过程都是一样的,结束后执行make和make install即可

该用户从未签到

 楼主| 发表于 2012-11-29 22:35:44 | 显示全部楼层
更新了开发包列表,满足了configure过程中对开发包的依赖。

该用户从未签到

 楼主| 发表于 2012-12-3 13:29:01 | 显示全部楼层
添加了make doc内容。

该用户从未签到

 楼主| 发表于 2012-12-26 11:06:53 | 显示全部楼层
不得不说, <<OpenSceneGraph三维渲染引擎设计与实现>>是目前能找到的osg资料中最经典的, 试图把来龙去脉讲解清楚的一本书.

该用户从未签到

 楼主| 发表于 2013-2-21 13:28:51 | 显示全部楼层
添加了fedora17上的依赖包、git克隆及官方的一些教程。

该用户从未签到

 楼主| 发表于 2013-8-23 22:02:09 | 显示全部楼层
make it run, make it right, make it fast.
准备着手第一个问题,shader的编写。

该用户从未签到

发表于 2013-8-25 21:18:15 | 显示全部楼层
woshishui 发表于 2013-8-23 22:02
make it run, make it right, make it fast.
准备着手第一个问题,shader的编写。

问一下,在Linux下开发OSG程序, 优点,缺点 有哪些? 相对于Windows来说。
你为什么选择在Linux平台下开发?

该用户从未签到

 楼主| 发表于 2013-8-27 23:43:08 | 显示全部楼层
hwyqw 发表于 2013-8-25 21:18
问一下,在Linux下开发OSG程序, 优点,缺点 有哪些? 相对于Windows来说。
你为什么选择在Linux平台下开 ...

我只是用linux的机会更多一些,不想费精力再搭建另一个平台上的开发环境而已,没有其他原因。

该用户从未签到

发表于 2014-12-1 10:07:14 | 显示全部楼层
woshishui 发表于 2013-2-21 13:28
添加了fedora17上的依赖包、git克隆及官方的一些教程。

你好,请问linux每个版本都有自己的依赖包么,知道redhat的依赖包去哪里下?谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表