|
1 |
| -[](https://travis-ci.org/openscenegraph/OpenSceneGraph) |
2 |
| -[](https://scan.coverity.com/projects/openscenegraph-openscenegraph) |
3 |
| - |
4 | 1 | ### Introduction
|
5 | 2 |
|
6 |
| -Welcome to the OpenSceneGraph (OSG). |
7 |
| - |
8 |
| -For up-to-date information on the project, in-depth details on how to |
9 |
| -compile and run libraries and examples, see the documentation on the |
10 |
| -OpenSceneGraph website: |
11 |
| - |
12 |
| - http://www.openscenegraph.org/index.php/documentation |
13 |
| - |
14 |
| -For support subscribe to our public mailing list or forum, details at: |
15 |
| - |
16 |
| - http://www.openscenegraph.org/index.php/support |
17 |
| - |
18 |
| -For the impatient, we've included quick build instructions below, these |
19 |
| -are are broken down is three parts: |
20 |
| - |
21 |
| - 1) General notes on building the OpenSceneGraph |
22 |
| - 2) OSX release notes |
23 |
| - 3) iOS release notes |
24 |
| - |
25 |
| -If details below are not sufficient then head over to the openscenegraph.org |
26 |
| -to the Documentation/GettingStarted and Documentation/PlatformSpecifics sections for |
27 |
| -more indepth instructions. |
28 |
| - |
29 |
| -Robert Osfield. |
30 |
| -Project Lead. |
31 |
| -5th September 2016. |
32 |
| - |
33 |
| --- |
34 |
| - |
35 |
| -### Section 1. How to build the OpenSceneGraph |
36 |
| - |
37 |
| -The OpenSceneGraph uses the CMake build system to generate a |
38 |
| -platform-specific build environment. CMake reads the CMakeLists.txt |
39 |
| -files that you'll find throughout the OpenSceneGraph directories, |
40 |
| -checks for installed dependenciesand then generates the appropriate |
41 |
| -build system. |
42 |
| - |
43 |
| -If you don't already have CMake installed on your system you can grab |
44 |
| -it from http://www.cmake.org, use version 2.4.6 or later. Details on the |
45 |
| -OpenSceneGraph's CMake build can be found at: |
46 |
| - |
47 |
| - http://www.openscenegraph.org/projects/osg/wiki/Build/CMake |
48 |
| - |
49 |
| -Under unices (i.e. Linux, IRIX, Solaris, Free-BSD, HP-Ux, AIX, OSX) |
50 |
| -use the cmake or ccmake command-line utils. Note that cmake . defaults |
51 |
| -to building Release to ensure that you get the best performance from |
52 |
| -your final libraries/applications. |
53 |
| - |
54 |
| - cd OpenSceneGraph |
55 |
| - cmake . |
56 |
| - make |
57 |
| - sudo make install |
58 |
| - |
59 |
| -Alternatively, you can create an out-of-source build directory and run |
60 |
| -cmake or ccmake from there. The advantage to this approach is that the |
61 |
| -temporary files created by CMake won't clutter the OpenSceneGraph |
62 |
| -source directory, and also makes it possible to have multiple |
63 |
| -independent build targets by creating multiple build directories. In a |
64 |
| -directory alongside the OpenSceneGraph use: |
65 |
| - |
66 |
| - mkdir build |
67 |
| - cd build |
68 |
| - cmake ../OpenSceneGraph |
69 |
| - make |
70 |
| - sudo make install |
71 |
| - |
72 |
| -Under Windows use the GUI tool CMakeSetup to build your VisualStudio |
73 |
| -files. The following page on our wiki dedicated to the CMake build |
74 |
| -system should help guide you through the process: |
75 |
| - |
76 |
| - http://www.openscenegraph.org/index.php/documentation/platform-specifics/windows |
| 3 | +Welcome to the OpenSceneGraph Qt (osgQT). |
77 | 4 |
|
78 |
| -Under OSX you can either use the CMake build system above, or use the |
79 |
| -Xcode projects that you will find in the OpenSceneGraph/Xcode |
80 |
| -directory. See release notes on OSX CMake build below. |
| 5 | +This is a Qt project for making use of OpenSceneGraph(OSG) |
81 | 6 |
|
82 |
| -For further details on compilation, installation and platform-specific |
83 |
| -information read "Getting Started" guide: |
| 7 | +OSG is required for making use of this project, For up-to-date information on |
| 8 | +the OSG project, in-depth details on how to compile and run libraries and examples, |
| 9 | +see the documentation on the OpenSceneGraph website: |
84 | 10 |
|
85 |
| - http://www.openscenegraph.org/index.php/documentation/10-getting-started |
86 |
| - |
87 |
| - |
88 |
| -### Section 2. Release notes on OSX build, by Eric Sokolowsky, August 5, 2008 |
89 |
| - |
90 |
| -There are several ways to compile OpenSceneGraph under OSX. The |
91 |
| -recommended way is to use CMake 2.6 to generate Xcode projects, then use |
92 |
| -Xcode to build the library. The default project will be able to build |
93 |
| -Debug or Release libraries, examples, and sample applications. Here are |
94 |
| -some key settings to consider when using CMake: |
95 |
| - |
96 |
| -BUILD_OSG_EXAMPLES - By default this is turned off. Turn this setting on |
97 |
| -to compile many great example programs. |
98 |
| - |
99 |
| -CMAKE_OSX_ARCHITECTURES - Xcode can create applications, executables, |
100 |
| -libraries, and frameworks that can be run on more than one architecture. |
101 |
| -Use this setting to indicate the architectures on which to build OSG. |
102 |
| -Possibilities include ppc, ppc64, i386, and x86_64. Building OSG using |
103 |
| -either of the 64-bit options (ppc64 and x86_64) has its own caveats |
104 |
| -below. |
105 |
| - |
106 |
| -OSG_BUILD_APPLICATION_BUNDLES - Normally only executable binaries are |
107 |
| -created for the examples and sample applications. Turn this option on if |
108 |
| -you want to create real OSX .app bundles. There are caveats to creating |
109 |
| -.app bundles, see below. |
110 |
| - |
111 |
| -OSG_WINDOWING_SYSTEM - You have the choice to use Carbon or X11 when |
112 |
| -building applications on OSX. Under Leopard and later, X11 applications, |
113 |
| -when started, will automatically launch X11 when needed. However, |
114 |
| -full-screen X11 applications will still show the menu bar at the top of |
115 |
| -the screen. Since many parts of the Carbon user interface are not |
116 |
| -64-bit, X11 is the only supported option for OSX applications compiled |
117 |
| -for ppc64 or x86_64. |
118 |
| - |
119 |
| -There is an Xcode directory in the base of the OSG software |
120 |
| -distribution, but its future is limited, and will be discontinued once |
121 |
| -the CMake project generator completely implements its functionality. |
122 |
| - |
123 |
| - |
124 |
| -APPLICATION BUNDLES (.app bundles) |
125 |
| - |
126 |
| -The example programs when built as application bundles only contain the |
127 |
| -executable file. They do not contain the dependent libraries as would a |
128 |
| -normal bundle, so they are not generally portable to other machines. |
129 |
| -They also do not know where to find plugins. An environmental variable |
130 |
| -OSG_LIBRARY_PATH may be set to point to the location where the plugin |
131 |
| -.so files are located. OSG_FILE_PATH may be set to point to the location |
132 |
| -where data files are located. Setting OSG_FILE_PATH to the |
133 |
| -OpenSceneGraph-Data directory is very useful when testing OSG by running |
134 |
| -the example programs. |
135 |
| - |
136 |
| -Many of the example programs use command-line arguments. When |
137 |
| -double-clicking on an application (or using the equivalent "open" |
138 |
| -command on the command line) only those examples and applications that |
139 |
| -do not require command-line arguments will successfully run. The |
140 |
| -executable file within the .app bundle can be run from the command-line |
141 |
| -if command-line arguments are needed. |
142 |
| - |
143 |
| - |
144 |
| -64-BIT APPLICATION SUPPORT |
145 |
| - |
146 |
| -OpenSceneGraph will not compile successfully when OSG_WINDOWING_SYSTEM is |
147 |
| -Carbon and either x86_64 or ppc64 is selected under CMAKE_OSX_ARCHITECTURES, |
148 |
| -as Carbon is a 32bit only API. A version of the osgviewer library written in |
149 |
| -Cocoa is needed. However, OSG may be compiled under 64-bits if the X11 |
150 |
| -windowing system is selected. However, Two parts of the OSG default |
151 |
| -distribution will not work with 64-bit X11: the osgviewerWX example |
152 |
| -program and the osgdb_qt (Quicktime) plugin. These must be removed from |
153 |
| -the Xcode project after Cmake generates it in order to compile with |
154 |
| -64-bit architectures. The lack of the latter means that images such as |
155 |
| -jpeg, tiff, png, and gif will not work, nor will animations dependent on |
156 |
| -Quicktime. A new ImageIO-based plugin is being developed to handle the |
157 |
| -still images, and a QTKit plugin will need to be developed to handle |
158 |
| -animations. |
159 |
| - |
160 |
| - |
161 |
| -### Section 3. Release notes on iOS build, by Thomas Hoghart |
162 |
| - |
163 |
| -* Run CMake with either OSG_BUILD_PLATFORM_IPHONE or OSG_BUILD_PLATFORM_IPHONE_SIMULATOR set: |
164 |
| - $ mkdir build-iOS ; cd build-iOS |
165 |
| - $ ccmake -DOSG_BUILD_PLATFORM_IPHONE_SIMULATOR=YES -G Xcode .. |
166 |
| -* Check that CMAKE_OSX_ARCHITECTURE is i386 for the simulator or armv6;armv7 for the device |
167 |
| -* Disable DYNAMIC_OPENSCENEGRAPH, DYNAMIC_OPENTHREADS |
168 |
| - This will give us the static build we need for iPhone. |
169 |
| -* Disable OSG_GL1_AVAILABLE, OSG_GL2_AVAILABLE, OSG_GL3_AVAILABLE, |
170 |
| - OSG_GL_DISPLAYLISTS_AVAILABLE, OSG_GL_VERTEX_FUNCS_AVAILABLE |
171 |
| -* Enable OSG_GLES1_AVAILABLE *OR* OSG_GLES2_AVAILABLE *OR* OSG_GLES3_AVAILABLE (GLES3 will enable GLES2 features) |
172 |
| -* Ensure OSG_WINDOWING_SYSTEM is set to IOS |
173 |
| -* Change FREETYPE include and library paths to an iPhone version |
174 |
| - (OpenFrameworks has one bundled with its distribution) |
175 |
| -* Ensure that CMake_OSX_SYSROOT points to your iOS SDK. |
176 |
| -* Generate the Xcode project |
177 |
| -* Open the Xcode project |
178 |
| - $ open OpenSceneGraph.xcodeproj |
179 |
| -* Under Sources -> osgDB, select FileUtils.cpp and open the 'Get Info' panel, change File Type |
180 |
| - to source.cpp.objcpp |
181 |
| - |
182 |
| -Here's an example for the command-line: |
| 11 | + http://www.openscenegraph.org/index.php/documentation |
183 | 12 |
|
184 |
| - $ cmake -G Xcode \ |
185 |
| - -D OSG_BUILD_PLATFORM_IPHONE:BOOL=ON \ |
186 |
| - -D CMAKE_CXX_FLAGS:STRING="-ftree-vectorize -fvisibility-inlines-hidden -mno-thumb -arch armv6 -pipe -no-cpp-precomp -miphoneos-version-min=3.1 -mno-thumb" \ |
187 |
| - -D BUILD_OSG_APPLICATIONS:BOOL=OFF \ |
188 |
| - -D OSG_BUILD_FRAMEWORKS:BOOL=OFF \ |
189 |
| - -D OSG_WINDOWING_SYSTEM:STRING=IOS \ |
190 |
| - -D OSG_BUILD_PLATFORM_IPHONE:BOOL=ON \ |
191 |
| - -D CMAKE_OSX_ARCHITECTURES:STRING="armv6;armv7" \ |
192 |
| - -D CMAKE_OSX_SYSROOT:STRING=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk \ |
193 |
| - -D OSG_GL1_AVAILABLE:BOOL=OFF \ |
194 |
| - -D OSG_GL2_AVAILABLE:BOOL=OFF \ |
195 |
| - -D OSG_GLES1_AVAILABLE:BOOL=ON \ |
196 |
| - -D OSG_GL_DISPLAYLISTS_AVAILABLE:BOOL=OFF \ |
197 |
| - -D OSG_GL_FIXED_FUNCTION_AVAILABLE:BOOL=ON \ |
198 |
| - -D OSG_GL_LIBRARY_STATIC:BOOL=OFF \ |
199 |
| - -D OSG_GL_MATRICES_AVAILABLE:BOOL=ON \ |
200 |
| - -D OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE:BOOL=ON \ |
201 |
| - -D OSG_GL_VERTEX_FUNCS_AVAILABLE:BOOL=OFF \ |
202 |
| - -D DYNAMIC_OPENSCENEGRAPH:BOOL=OFF \ |
203 |
| - -D DYNAMIC_OPENTHREADS:BOOL=OFF . |
204 | 13 |
|
205 | 14 | Known issues:
|
206 |
| -* When Linking final app against ive plugin, you need to add -lz to |
207 |
| - the 'Other linker flags' list. |
208 |
| -* Apps and exes don't get created |
209 |
| -* You can only select Simulator, or Device projects. In the XCode |
210 |
| - project you will see both types but the sdk they link will |
211 |
| - be the same. |
| 15 | +* This project was forked from the original OSG implementation and needs lots of tidy up |
0 commit comments