- update README and INSTALL, slight doc fixes.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1050 67173fc5-114c-0410-ac8e-9d2fd5bffc1fpull/2/head
parent
969c2ccf9f
commit
5f341dcf00
57
INSTALL
57
INSTALL
|
@ -1,12 +1,12 @@
|
||||||
|
|
||||||
|
========================================================================
|
||||||
Open Asset Import Library (Assimp) Install
|
Open Asset Import Library (assimp) INSTALL
|
||||||
------------------------------------------------
|
========================================================================
|
||||||
|
|
||||||
|
|
||||||
=======================================================================
|
------------------------------
|
||||||
Please refer to the doxygen documentation for full install instructions
|
Getting the documentation
|
||||||
=======================================================================
|
------------------------------
|
||||||
|
|
||||||
A regularly-updated copy is available at
|
A regularly-updated copy is available at
|
||||||
http://assimp.sourceforge.net/lib_html/index.html
|
http://assimp.sourceforge.net/lib_html/index.html
|
||||||
|
@ -20,38 +20,27 @@ c) navigate to ./doc
|
||||||
d) and run 'doxygen'
|
d) and run 'doxygen'
|
||||||
|
|
||||||
Open the generated HTML (AssimpDoc_Html/index.html) in the browser of your choice.
|
Open the generated HTML (AssimpDoc_Html/index.html) in the browser of your choice.
|
||||||
Windows only: To generate the CHM doc install the 'Microsoft HTML Workshop'
|
Windows only: To generate the CHM doc, install 'Microsoft HTML Workshop'
|
||||||
and configure the path to it in the DOXYFILE. Run doxygen again.
|
and configure the path to it in the DOXYFILE first.
|
||||||
|
|
||||||
=======================================================================
|
|
||||||
For the inpatient:
|
|
||||||
|
|
||||||
Windows: go to ./workspaces/vc8 or ./workspaces/vc9, open the
|
|
||||||
VS Solution and build for your preferred build target ...
|
|
||||||
release-dll is usually the best choice. Adjust the runtime library to
|
|
||||||
your needs, multithreaded-dll is preconfigured by default.
|
|
||||||
|
|
||||||
These solutions are currently hand-maintained, they copy all
|
|
||||||
the resulting binaries to ./bin/config-name at the moment.
|
|
||||||
|
|
||||||
Unix & Family:
|
|
||||||
|
|
||||||
CMake is now our preferred build tool. Run cmake with your
|
|
||||||
favourite build script generator from *here* and have fun.
|
|
||||||
If you use cmake only to get a makefile, run
|
|
||||||
'make' and 'make install' afterwards.
|
|
||||||
|
|
||||||
NOTE: in order to use the assimp command line tools, you may
|
|
||||||
need to run ldconfig as root to make the so loader find
|
|
||||||
the assimp shared library --
|
|
||||||
|
|
||||||
Note that running make from ./code is deprecated, although there
|
|
||||||
is still a suitable makefile in it.
|
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------
|
||||||
|
Building Assimp
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
More detailed build instructions can be found in the documentation,
|
||||||
|
this section is just for the inpatient among you.
|
||||||
|
|
||||||
|
CMake is the preferred build system for Assimp. The minimum required version
|
||||||
|
is 2.6. If you don't have it yet, downloads for CMake can be found on
|
||||||
|
http://www.cmake.org/.
|
||||||
|
|
||||||
|
Building Assimp with CMake is 'business as usual' if you've used CMake
|
||||||
|
before. All steps can be done either on the command line / shell or
|
||||||
|
by using the CMake GUI tool, the choice is up to you.
|
||||||
|
|
||||||
|
First, invoke CMake to generate build files for a particular
|
||||||
|
toolchain (for standard GNU makefiles: cmake -G 'Unix Makefiles').
|
||||||
|
Afterwards, use the generated build files to perform the actual
|
||||||
|
build.
|
||||||
|
|
||||||
|
|
||||||
|
|
110
README
110
README
|
@ -1,22 +1,40 @@
|
||||||
Open Asset Import Library (Assimp) Readme
|
|
||||||
-----------------------------------------
|
========================================================================
|
||||||
|
Open Asset Import Library (assimp) README
|
||||||
Here you can find information regarding Open Asset Import Library:
|
========================================================================
|
||||||
|
|
||||||
|
|
||||||
|
Table of Contents
|
||||||
|
|
||||||
1. Overview
|
1. Overview
|
||||||
1.1 Supported file formats
|
1.1 Supported file formats
|
||||||
1.2 File structure
|
1.2 File structure
|
||||||
2. Build the Asset Import Library
|
2. Build the library
|
||||||
3. Help
|
3. Help
|
||||||
4. License
|
4. License
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------
|
||||||
1. Overview
|
1. Overview
|
||||||
1.1 Supported file formats
|
------------------------------
|
||||||
|
|
||||||
|
Open Asset Import Library is a Open Source library designed to load various 3d file
|
||||||
|
formats and convert them into a shared, in-memory format. It supports more than
|
||||||
|
30 file formats. Basically, it is like DevIL for 3D models.
|
||||||
|
|
||||||
|
Its short name is 'assimp', which is an unintended joke (the abbreviation is derived
|
||||||
|
from 'Asset Importer').
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
|
1.1 Supported file formats
|
||||||
|
----------------
|
||||||
|
|
||||||
The Asset Import Library provides a lot of model formats:
|
The library provides importers for a lot of file formats, including:
|
||||||
- 3DS
|
- 3DS
|
||||||
|
- BLEND
|
||||||
|
- Collada
|
||||||
|
- IFC-STEP
|
||||||
- ASE
|
- ASE
|
||||||
- DXF
|
- DXF
|
||||||
- HMP
|
- HMP
|
||||||
|
@ -32,48 +50,70 @@ The Asset Import Library provides a lot of model formats:
|
||||||
- LWO
|
- LWO
|
||||||
- OBJ
|
- OBJ
|
||||||
- SMD
|
- SMD
|
||||||
|
|
||||||
- Collada
|
|
||||||
|
|
||||||
- LWO
|
- LWO
|
||||||
|
|
||||||
- Ogre XML
|
- Ogre XML
|
||||||
|
|
||||||
- partly LWS
|
|
||||||
|
.. plus many more, see
|
||||||
- .. + many more, see http://assimp.sourceforge.net/main_features_formats.html for a full list.
|
http://assimp.sourceforge.net/main_features_formats.html for a more exhaustive list.
|
||||||
|
|
||||||
|
|
||||||
|
----------------
|
||||||
1.2 Repository structure
|
1.2 Repository structure
|
||||||
|
----------------
|
||||||
|
|
||||||
Open Asset Import Library is implemented in C++ and provides a C-interface. The directory structure is:
|
Open Asset Import Library is implemented in C++ (but provides both a C and a C++ish interface).
|
||||||
|
The directory structure is:
|
||||||
|
|
||||||
/bin Binaries of the Asset Import Library.
|
/bin Binaries, onyl used on Windows.
|
||||||
/code Code of the Asset Import Library.
|
/code Source code.
|
||||||
/contrib Third-party-libraries used by the Asset Import Library.
|
/contrib Third-party-libraries used by the Asset Import Library.
|
||||||
/doc Documentation (doxygen generated and data structure as a xml file)
|
/doc Documentation (doxygen generated and data structure draft)
|
||||||
/include Public headers.
|
/include Public headers for you to #include.
|
||||||
/lib Static library location for Windows.
|
/lib Static library location for Windows.
|
||||||
/obj Object file location for Windows.
|
/obj Object file location for Windows.
|
||||||
/port Ports to other languages.
|
/port Ports to other languages and scripts therefor.
|
||||||
|
|
||||||
/test Unit- and regression tests, model test suite.
|
/test Unit- and regression tests, test suite of models.
|
||||||
/tools Tools (viewer, command line `assimp`).
|
/tools Tools (viewer, command line `assimp`).
|
||||||
/workspaces Build enviroments for vc,xcode,...
|
/samples A small number of samples to illustrate possible use-cases.
|
||||||
|
/workspaces Build enviroments for vc,xcode,... (deprecated,
|
||||||
|
CMake has superseeded all legacy build options)
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------
|
||||||
2. Build the Asset Import Library
|
2. Build the library
|
||||||
|
------------------------------
|
||||||
|
|
||||||
Take a look into the INSTALL file.
|
Take a look into the INSTALL file.
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------
|
||||||
3. Help
|
3. Help
|
||||||
|
------------------------------
|
||||||
|
|
||||||
For more help go to http://assimp.sourceforge.net/ (or, for germans, http://www.zfx.info). Or take a look into the doc-folder, which contains the doxygen-generated documentation in HTMl format (CHMs for Windows are as well contained in some distributions and located right here in the root folder).
|
For more information go to http://assimp.sourceforge.net/. Or have a look into the ./doc-
|
||||||
|
folder, which contains the Doxygen-generated documentation in HTML format (CHMs for
|
||||||
|
Windows are also included in some distributions and should be located right here in
|
||||||
|
the root folder).
|
||||||
|
|
||||||
|
If reading the documentation doesn't solve your problems, try our forums at SF.net
|
||||||
|
Open Discussion: http://sourceforge.net/projects/assimp/forums/forum/817653)
|
||||||
|
Help: http://sourceforge.net/projects/assimp/forums/forum/817654
|
||||||
|
|
||||||
|
or our mailing list, assimp-discussions
|
||||||
|
archive: http://sourceforge.net/mailarchive/forum.php?forum_name=assimp-discussions,
|
||||||
|
subscribe: https://lists.sourceforge.net/lists/listinfo/assimp-discussions
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------
|
||||||
4. License
|
4. License
|
||||||
|
------------------------------
|
||||||
|
|
||||||
The license of the Asset Import Library is based on the BSD-License. It is contained in the LICENSE file.
|
The license of the Asset Import Library is based on the modified, 3-clause BSD-License,
|
||||||
|
which is a very liberal license. An _informal_ summary of the license is: do whatever
|
||||||
|
you want, but include Assimp's license text with your product - and don't sue us
|
||||||
|
if it doesn't work.
|
||||||
|
|
||||||
|
For the formal details, see the LICENSE file.
|
||||||
|
|
||||||
|
|
Binary file not shown.
90
doc/dox.h
90
doc/dox.h
|
@ -130,6 +130,7 @@ assimp-discussions</a>.
|
||||||
/**
|
/**
|
||||||
@page install Installation
|
@page install Installation
|
||||||
|
|
||||||
|
|
||||||
@section install_prebuilt Using the pre-built libraries with Visual C++ 8/9
|
@section install_prebuilt Using the pre-built libraries with Visual C++ 8/9
|
||||||
|
|
||||||
If you develop at Visual Studio 2005 or 2008, you can simply use the pre-built linker libraries provided in the distribution.
|
If you develop at Visual Studio 2005 or 2008, you can simply use the pre-built linker libraries provided in the distribution.
|
||||||
|
@ -148,18 +149,16 @@ run and use the application. If the linker complains about some integral functio
|
||||||
mixed the runtimes. Recheck the project configuration (project properties -> C++ -> Code generation -> Runtime) if you use
|
mixed the runtimes. Recheck the project configuration (project properties -> C++ -> Code generation -> Runtime) if you use
|
||||||
static runtimes (Multithreaded / Multithreaded Debug) or dynamic runtimes (Multithreaded DLL / Multithreaded Debug DLL).
|
static runtimes (Multithreaded / Multithreaded Debug) or dynamic runtimes (Multithreaded DLL / Multithreaded Debug DLL).
|
||||||
Choose the ASSIMP linker lib accordingly.
|
Choose the ASSIMP linker lib accordingly.
|
||||||
<br>
|
<br><br>
|
||||||
Please don't forget to also read the @ref assimp_stl section on MSVC and the STL.
|
Please don't forget to also read the @ref assimp_stl section on MSVC and the STL.
|
||||||
|
|
||||||
@section assimp_stl Microsoft Compilers & STL
|
@section assimp_stl Microsoft Compilers and the C++ Standard Library
|
||||||
|
|
||||||
In VC8 and VC9 Microsoft has introduced some STL debugging features. A good example are improved iterator checks and
|
In VC8 and VC9 Microsoft introduced some Standard Library debugging features. A good example are improved iterator checks and
|
||||||
various useful debug checks. Actually they are really helpful for debugging, but they're extremely slow. They're
|
various useful debug checks. The problem is the performance penalty that incurs with those extra checks.
|
||||||
so extremely slow that they can make the STL up to 100 times slower (imagine a <i>std::vector<T>::operator[] </i>
|
|
||||||
performing 3 or 4 single checks! scary ...).
|
|
||||||
|
|
||||||
These security enhancements are - thanks MS! - also active in release builds, rendering ASSIMP several times
|
Most of these security enhancements are active in release builds by default, rendering ASSIMP several times
|
||||||
slower. However, it is possible to disable them by defining
|
slower. However, it is possible to disable them by setting
|
||||||
|
|
||||||
@code
|
@code
|
||||||
_HAS_ITERATOR_DEBUGGING=0
|
_HAS_ITERATOR_DEBUGGING=0
|
||||||
|
@ -174,11 +173,11 @@ If you do not, there are two binary incompatible STL versions mangled together a
|
||||||
Alternatively you can disable the fast STL settings for ASSIMP by removing the 'FastSTL' property sheet from
|
Alternatively you can disable the fast STL settings for ASSIMP by removing the 'FastSTL' property sheet from
|
||||||
the vc project file.
|
the vc project file.
|
||||||
|
|
||||||
<i>If you're using ASSIMP in a DLL:</i> It's ok. There's no STL used in the DLL interface, so it doesn't care whether
|
<i>If you're using ASSIMP in a DLL/SO:</i> It's ok. There's no STL used in the binary DLL/SO interface, so it doesn't care whether
|
||||||
your application uses the same STL settings or not.
|
your application uses the same STL settings or not.
|
||||||
<br><br>
|
<br><br>
|
||||||
Another option is to build against a different STL implementation, for example STlport. There's a special
|
Another option is to build against a different STL implementation, for example STlport. There's a special
|
||||||
@ref assimp_stlport section which describes how to achieve this.
|
@ref assimp_stlport section that has a description how to achieve this.
|
||||||
|
|
||||||
|
|
||||||
@section install_own Building the library from scratch
|
@section install_own Building the library from scratch
|
||||||
|
@ -191,12 +190,12 @@ it for yourself. Read the "Getting Started" section of the Boost documentation f
|
||||||
can use a comfortable installer from <a href="http://www.boost-consulting.com/products/free">
|
can use a comfortable installer from <a href="http://www.boost-consulting.com/products/free">
|
||||||
http://www.boost-consulting.com/products/free</a>. Choose the appropriate version of boost for your runtime of choice.
|
http://www.boost-consulting.com/products/free</a>. Choose the appropriate version of boost for your runtime of choice.
|
||||||
|
|
||||||
<b>If you don't want to use boost</b>, you can build against our <i>"Boost-Workaround"</i>. It consists of very small (dummy)
|
<b>If you don't want to use boost</b>, you can build against our <i>"Boost-Workaround"</i>. It consists of very small
|
||||||
implementations of the various boost utility classes used. However, you'll loose functionality (e.g. threading) by doing this.
|
implementations of the various boost utility classes used. However, you'll loose functionality (e.g. threading) by doing this.
|
||||||
So, if it is possible to use boost, you should use boost. See the @link use_noboost NoBoost-Section @endlink
|
So, if you can use boost, you should use boost. Otherwise, See the @link use_noboost NoBoost-Section @endlink
|
||||||
later on this page for more details.
|
later on this page for the details of the workaround.
|
||||||
|
|
||||||
Once boost is working, you have to set up a project for the ASSIMP library in your favourite IDE. If you use VC2005 or
|
Once boost is working, you have to set up a project for the ASSIMP library in your favorite IDE. If you use VC2005 or
|
||||||
VC2008, you can simply load the solution or project files in the workspaces/ folder, otherwise you have to create a new
|
VC2008, you can simply load the solution or project files in the workspaces/ folder, otherwise you have to create a new
|
||||||
package and add all the headers and source files from the include/ and code/ directories. Set the temporary output folder
|
package and add all the headers and source files from the include/ and code/ directories. Set the temporary output folder
|
||||||
to obj/, for example, and redirect the output folder to bin/. Then build the library - it should compile and link fine.
|
to obj/, for example, and redirect the output folder to bin/. Then build the library - it should compile and link fine.
|
||||||
|
@ -210,15 +209,16 @@ your solution.
|
||||||
@section use_noboost Building without boost.
|
@section use_noboost Building without boost.
|
||||||
|
|
||||||
The Boost-Workaround consists of dummy replacements for some boost utility templates. Currently there are replacements for
|
The Boost-Workaround consists of dummy replacements for some boost utility templates. Currently there are replacements for
|
||||||
<ul>
|
|
||||||
<li><i>boost.scoped_ptr</i></li>
|
- boost.scoped_ptr
|
||||||
<li><i>boost.scoped_array</i></li>
|
- boost.scoped_array
|
||||||
<li><i>boost.format</i> </li>
|
- boost.format
|
||||||
<li><i>boost.random</i> </li>
|
- boost.random
|
||||||
<li><i>boost.common_factor</i> </li>
|
- boost.common_factor
|
||||||
<li><i>boost.foreach</i> </li>
|
- boost.foreach
|
||||||
<li><i>boost.tuple</i></li>
|
- boost.tuple
|
||||||
</ul>
|
- boost.make_shared
|
||||||
|
|
||||||
These implementations are very limited and are not intended for use outside ASSIMP. A compiler
|
These implementations are very limited and are not intended for use outside ASSIMP. A compiler
|
||||||
with full support for partial template specializations is required. To enable the workaround, put the following in
|
with full support for partial template specializations is required. To enable the workaround, put the following in
|
||||||
your compiler's list of predefined macros:
|
your compiler's list of predefined macros:
|
||||||
|
@ -233,49 +233,29 @@ See the @ref assimp_st section
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
|
|
||||||
@section assimp_make Build with MAKE
|
|
||||||
|
|
||||||
To build Assimp with MAKE, navigate to the <tt>code</tt> directory and run
|
|
||||||
@code
|
|
||||||
make
|
|
||||||
@endcode
|
|
||||||
respectively
|
|
||||||
@code
|
|
||||||
make -fmakefile.mingw
|
|
||||||
@endcode
|
|
||||||
for mingw-make. For a <i>-noboost</i>-Build, append
|
|
||||||
@code
|
|
||||||
NOBOOST=1
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
@section assimp_st Single-threaded build
|
|
||||||
|
|
||||||
-- currently there is no difference between single-thread and normal builds --
|
|
||||||
|
|
||||||
|
|
||||||
@section assimp_dll DLL build
|
@section assimp_dll Windows DLL Build
|
||||||
|
|
||||||
ASSIMP can be built as DLL. You just need to select a -dll config from the list of project
|
ASSIMP can be built as DLL. You just need to select a -dll config from the list of project
|
||||||
configs and you're fine. Don't forget to copy the DLL to the directory of your executable :-)
|
configs and you're fine.
|
||||||
|
|
||||||
<b>NOTE:</b> Theoretically ASSIMP-dll can be used with multithreaded (non-dll) runtime libraries,
|
<b>NOTE:</b> Theoretically, assimp-dll can be used with multithreaded (non-dll) runtime libraries,
|
||||||
as long as you don't utilize any non-public stuff from the code dir. However, if you happen
|
as long as you don't utilize any non-public stuff from the code folder. However, if you happen
|
||||||
to encounter *very* strange problems try changing the runtime to multithreaded (Debug) DLL.
|
to encounter *very* strange problems, try changing the runtime to <i>Multithreaded (Debug) DLL</i>.
|
||||||
|
|
||||||
@section assimp_stlport Building against STLport
|
@section assimp_stlport Building against STLport
|
||||||
|
|
||||||
If your compiler's default implementation of the STL is too slow, lacks some features,
|
STLport is a free, fast and secure STL replacement that works with
|
||||||
contains bugs or if you just want to tweak ASSIMP's performance a little try a build
|
all major compilers and platforms. To get it, download the latest release from
|
||||||
against STLport. STLport is a free, fast and secure STL replacement that works with
|
<a href="http://www.stlport.org"/><stlport.org></a>.
|
||||||
all major compilers and platforms. To get it visit their website at
|
Usually you'll just need to run 'configure' + a makefile (see their README for more details).
|
||||||
<a href="http://www.stlport.org"/><stlport.org></a> and download the latest STLport release.
|
|
||||||
Usually you'll just need to run 'configure' + a makefile (see the README for more details).
|
|
||||||
Don't miss to add <stlport_root>/stlport to your compiler's default include paths - <b>prior</b>
|
Don't miss to add <stlport_root>/stlport to your compiler's default include paths - <b>prior</b>
|
||||||
to the directory where the compiler vendor's STL lies. Do the same for <stlport_root>/lib and
|
to the directory where your compiler vendor's headers lie. Do the same for <stlport_root>/lib and
|
||||||
recompile ASSIMP. To ensure you're really building against STLport see aiGetCompileFlags().
|
recompile ASSIMP. To ensure you're really building against STLport see aiGetCompileFlags().
|
||||||
<br>
|
<br>
|
||||||
Usually building ASSIMP against STLport yields a better overall performance so it might be
|
In our testing, STLport builds tend to be a bit faster than builds against Microsoft's
|
||||||
worth a try if the library is too slow for you.
|
C++ Standard Library.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue