美文网首页
osg for iOS - OpenGL ES 3.0

osg for iOS - OpenGL ES 3.0

作者: 止水_0f49 | 来源:发表于2017-10-24 16:22 被阅读0次

时间

2017年11月8日

参考

osg 官方文档:
http://www.openscenegraph.org/index.php/documentation/platform-specifics/ios/216-generating-an-ios-xcode-project-2017

环境与关键工具

  • 系统
    macOS Sierra (10.12.6)

  • Xcode

    • Version 8.3.3 (8E3004b)
    • CXX Compiler: AppleClang 8.1.0.8020042
  • CMake

依赖库 Fat 文件

链接:http://pan.baidu.com/s/1qY6xGMK 密码:v3ok

步骤

  1. 代码
    Download OSG trunk
cd /Users/wangmiao/projects/osgearth-build/osg-ios/
git clone https://github.com/openscenegraph/OpenSceneGraph.git

code version:
commit ad45bf1d616816413f490c3eb116928a56db36ba
Author: Robert Osfield robert@openscenegraph.com
Date: Mon Oct 16 11:52:54 2017 +0100

  1. cmake 运行
export THIRDPARTY_PATH=/Volumes/mac/Cateye/3rdParty
export IPHONE_SDK_USR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr
/Applications/CMake.app/Contents/bin/cmake ./ -G Xcode -DOSG_BUILD_PLATFORM_IPHONE:BOOL=ON \
-DIPHONE_SDKVER="10.3" \
-DIPHONE_VERSION_MIN="8.0" \
-DOPENGL_PROFILE:STRING=GLES3 \
-DBUILD_OSG_APPLICATIONS:BOOL=OFF \
-DBUILD_OSG_EXAMPLES:BOOL=ON \
-DOSG_WINDOWING_SYSTEM:STRING=IOS \
-DOSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX="imageio" \
-DOSG_GL1_AVAILABLE:BOOL=OFF \
-DOSG_GL2_AVAILABLE:BOOL=OFF \
-DOSG_GLES1_AVAILABLE:BOOL=OFF \
-DOSG_GLES2_AVAILABLE:BOOL=OFF \
-DOSG_GLES3_AVAILABLE:BOOL=ON \
-DDYNAMIC_OPENSCENEGRAPH:BOOL=OFF \
-DDYNAMIC_OPENTHREADS:BOOL=OFF \
-DZLIB_INCLUDE_DIR:PATH="$IPHONE_SDK_USR/include" \
-DZLIB_LIBRARY:PATH="$IPHONE_SDK_USR/lib/libz.tbd" \
-DCURL_INCLUDE_DIR:PATH="$THIRDPARTY_PATH/curl-ios-device/include" \
-DCURL_LIBRARY:PATH="$THIRDPARTY_PATH/curl-ios-device/lib/libcurl.a" \
-DFREETYPE_INCLUDE_DIR_freetype2:PATH="$THIRDPARTY_PATH/freetype-ios-universal/include/freetype" \
-DFREETYPE_INCLUDE_DIR_ft2build:PATH="$THIRDPARTY_PATH/freetype-ios-universal/include" \
-DFREETYPE_LIBRARY:PATH="$THIRDPARTY_PATH/freetype-ios-universal/lib/libFreeType_iphone_universal.a" \
-DTIFF_INCLUDE_DIR:PATH="$THIRDPARTY_PATH/tiff-ios-device/include" \
-DTIFF_LIBRARY:PATH="$THIRDPARTY_PATH/tiff-ios-device/lib/libtiff.a" \
-DGDAL_INCLUDE_DIR:PATH="$THIRDPARTY_PATH/gdal-ios-device/include" \
-DGDAL_LIBRARY:PATH="$THIRDPARTY_PATH/gdal-ios-device/lib/libgdal.a"
  1. xcode 工程编译
    3.1 打开xcode
    3.2 选择目标 example_osgViewerIPhone

设置: In the 'Build Settings' tab search for 'Other Linker Flags', then for each target type (debug, release etc) that you want to use open the list of arguments and delete the 'OpenGL' line and the '-framework' line above it. This is because cmake has tried to add the desktop OpenGL library which we don't want.

-lz

选择 iOS Deployment Target : 10.3

3.3 选择设备
真机调试,连接真机 build即可。

QQ20171024-0.png
  1. next: OSGEarth
    为了编译 osgEarth,还需要编译其他库,其中 osgdb_fastdxt 编译会有语法错误,且 osgEarth用不着,可以去掉。

相关文章

网友评论

      本文标题:osg for iOS - OpenGL ES 3.0

      本文链接:https://www.haomeiwen.com/subject/mfqxpxtx.html