Skip to content

Commit

Permalink
Merge pull request #26 from assimp/kimkulling/fix_typos
Browse files Browse the repository at this point in the history
Fix typos
  • Loading branch information
kimkulling authored Jul 31, 2023
2 parents 38d518a + 8f57f82 commit 8df8631
Show file tree
Hide file tree
Showing 5 changed files with 163 additions and 161 deletions.
12 changes: 6 additions & 6 deletions source/about/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

.. _ai_main_install:

************
============
Installation
************
============

The Asset-Importer-Library can be used in your applications by two ways:
The **Asset-Importer-Library** can be used in your applications in two ways:

* Using it by installing pre-built libraries
* Integrate the library into your project via cmake.
* Integrate the library into your project via **cmake**.

Both ways are descriped at `Build instructions <https://github.com/assimp/assimp/blob/master/Build.md>`_
Both ways are described at `Build instructions <https://github.com/assimp/assimp/blob/master/Build.md>`_

.. _ai_main_usage:

Expand All @@ -24,5 +24,5 @@ interfaces by which you can access the library:
* A C++ interface
* A C interface using flat functions.

The C++-API supports a RTTI-based approach. If you want to work with c++ using these interface is strongy recommended.
The C++-API supports an RTTI-based approach. If you want to work with C++ using these interfaces is strongly recommended.
The C-API shall help to generate any language binding more easily.
18 changes: 9 additions & 9 deletions source/about/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
Introduction
------------

The Asset-Importer-Lib (in short assimp) is a library to load and process geometric scenes from various 3D-data formats. It
is mostly tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes, materials, bone animations
The **Asset-Importer-Lib** (in short **Assimp**, we will use this term for the library) is a library to load and process geometric scenes from various 3D-data formats. It
is mostly tailored to typical game scenarios by supporting a node hierarchy, static or skinned meshes, materials, bone animations,
and potential texture data. But also some 3D-printing- and CAD-format are supported.
It is primarily useful for importing assets from various sources once and storing it in a intermediate format for easy and fast
every-day-loading. The Asset-Importer-Lib is also able to apply various post processing steps to the imported like:
It is primarily useful for importing assets from various sources once and storing them in an intermediate format for easy and fast
every-day-loading. The Asset-Importer-Lib is also able to apply various post-processing steps to the imported like:

* Model Validation
* Pretransforming
Expand Down Expand Up @@ -68,25 +68,25 @@ The Assimp-Lib currently supports the following file formats:
* **TrueSpace** (.cob, .scn)
* **XGL-3D-Format** (.xgl)

See the :ref:`ai_importer_notes` for information, what a specific importer can do and what not.
See the:ref:`ai_importer_notes` for information, on what a specific importer can do and what not.
Note that although this paper claims to be the official documentation,
`README.md <https://github.com/assimp/assimp/blob/master/Readme.md>`_
is usually the most up-to-date list of file formats supported by the library.

Assimp is independent of the Operating System by nature, providing a C++ interface for easy integration
with game engines and a C-based interface to allow bindings to other programming languages. At the moment the library
runs on any little-endian platform including **X86/Windows/Linux/Mac** and **X64/Windows/Linux/Mac**. Special attention
was paid to keep the library as free as possible from dependencies.
was paid to keeping the library as free as possible from dependencies.

Big-endian systems like PPC-based Macs (if you still have one) or PPC-Linux systems are supported as well.

The assimp linker library and viewer application are provided under the BSD 3-clause license. This basically means
The **Assimp** linker library and viewer application are provided under the BSD 3-clause license. This basically means
that you are free to use it in open- or closed-source projects, for commercial or non-commercial purposes as you like
as long as you retain the license information and take own responsibility for what you do with it. For details see
as long as you retain the license information and take your own responsibility for what you do with it. For details see
the LICENSE file.

You can find test models for almost all formats in the **<assimp_root>/test/models** directory. Beware, they're *free*,
but not all of them are **open-source**. If there's an accompagning **'<file>\source.txt'** file don't forget to read it.
but not all of them are **open-source**. If there's an accompanying **'<file>\source.txt'** file don't forget to read it.

Dependencies
------------
Expand Down
52 changes: 27 additions & 25 deletions source/about/quickstart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Data Structures
---------------

When the importer successfully completed its job, the imported data is returned in an aiScene structure. This is the root
point from where you can access all the various data types that a scene/model file can possibly contain. The
:ref:`ai_data` describes how to interpret this data.
point from where you can access all the various data types that a scene/model file can possibly contain.
The:ref:`ai_data` describes how to interpret this data.

.. _ai_ext:

Expand All @@ -15,8 +15,8 @@ Extending the library

There are many 3d file formats in the world, and we're happy to support as many as possible. If you need support for
a particular file format, why not implement it yourself and add it to the library? Writing importer plugins for
assimp is considerably easy, as the whole postprocessing infrastructure is available and does much of the work for you.
See the :ref:`ai_extend` extend Extending the library page for more information.
**Assimp** is considerably easy, as the whole postprocessing infrastructure is available and does much of the work for you.
See the:ref:`ai_extend` extend Extending the library page for more information.


.. _ai_main_support:
Expand All @@ -25,43 +25,45 @@ Support & Feedback
------------------

If you have any questions/comments/suggestions/bug reports you're welcome to post them in our
`Github-Issue-Tracker <https://github.com/assimp/assimp/issues>`_. Alternatively there's
a mailing list, `assimp-discussions <https://github.com/assimp/assimp/discussions>`_
`Github-Issue-Tracker <https://github.com/assimp/assimp/issues>`_.
Alternatively, there's was a mailing list, `assimp-discussions <https://github.com/assimp/assimp/discussions>`_ .
This one is deprecated. Try to use `Assimp on Stackoverflow <https://stackoverflow.com/questions/tagged/assimp>`_ or
`Assimp on Reddit <https://www.reddit.com/r/Assimp/>`_ instead.
.

.. _ai_install_prebuilt:

Using the pre-built libraries with Visual-Studio
------------------------------------------------

If you develop at Visual Studio 2015, 2017, 2019 or 2022 you can simply use the pre-built linker libraries provided in the distribution.
Extract all files to a place of your choice. A directory called "assimp" will be created there. Add the assimp/include path
If you develop at Visual Studio 2015, 2017, 2019, or 2022 you can simply use the pre-built linker libraries provided in the distribution.
Extract all files to a place of your choice. A directory called **Assimp** will be created there. Add the **assimp/include** path
to your include paths (Menu-&gt;Extras-&gt;Options-&gt;Projects and Solutions-&gt;VC++ Directories-&gt;Include files)
and the assimp/lib/&lt;Compiler&gt; path to your linker paths (Menu-&gt;Extras-&gt;Options-&gt;Projects and Solutions-&gt;VC++ Directories-&gt;Library files).
This is necessary only once to setup all paths inside you IDE.
This is necessary only once to set up all paths inside your IDE.

To use the library in your C++ project you can simply generate a project file via cmake. One way is to add the assimp-folder
as a subdirectory via the cmake-command
To use the library in your C++ project you can simply generate a project file via cmake. One way is to add the **Assimp** folder
as a subdirectory via the cmake-command:

::

ADD_SUBDIRECTORY(assimp)

Now just add the assimp-dependency to your application:
Now just add the **Assimp** dependency to your application:

::

TARGET_LINK_LIBRARIES(my_game assimp)


If done correctly you should now be able to compile, link, run and use the application.
If done correctly you should now be able to compile, link, run, and use the application.

.. _ai_install_prebuilt_vcpg:

Build on all platforms using vcpkg
----------------------------------

You can download and install assimp using the `vcpkg <https://github.com/Microsoft/vcpkg/>`_ dependency manager:
You can download and install **Assimp** using the `vcpkg <https://github.com/Microsoft/vcpkg/>`_ dependency manager:
::

bash
Expand All @@ -71,22 +73,22 @@ You can download and install assimp using the `vcpkg <https://github.com/Microso
./vcpkg integrate install
vcpkg install assimp

The assimp port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please <reate an issue or pull request on the `vcpkg repository <https://github.com/Microsoft/vcpkg>`_ .
The **Assimp** port in **vcpkg** is kept up to date by Microsoft team members and community contributors. If the version is out of date, please <reate an issue or pull request on the `vcpkg repository <https://github.com/Microsoft/vcpkg>`_ .


.. _ai_install_own:

Building the library from scratch
---------------------------------

First you need to install cmake. Now just get the code from github or download the latest version from the webside.
to build the library just open a command-prompt / bash, navigate into the repo-folder and run cmake via:
First, you need to install **cmake**. Now just get the code from GitHub or download the latest version from the website.
to build the library just open a command-prompt / bash, navigate into the repo folder, and run **cmake** via:

::

cmake CMakeLists.txt

A project-file of your default make-system (like gnu-make on linux or Visual-Studio on Windows) will be generated.
A project file of your default make-system (like gnu-make on Linux or Visual-Studio on Windows) will be generated.
Run the build and you are done. You can find the libs at assimp/lib and the dll's / so's at bin.

.. _ai_assimp_dll:
Expand All @@ -101,7 +103,7 @@ The Assimp-package can be built as DLL. You just need to run the default cmake r
Assimp static lib
-----------------

The Assimp-package can be build as a static library as well. To do so just set the configuration variable **BUILD_SHARED_LIBS**
The Assimp-package can be built as a static library as well. To do so just set the configuration variable **BUILD_SHARED_LIBS**
to off during the cmake run. For example:

::
Expand All @@ -118,23 +120,23 @@ The Android build
This module provides a facade for the io-stream-access to files behind the android-asset-management within
an Android-native application.
- It is built as a static library
- It requires Android NDK with android API > 9 support.
- It requires Android NDK with Android API > 9 support.

- Building:
To use this module please provide following cmake defines:
To use this module please provide the following **cmake** defines:

::

-DASSIMP_ANDROID_JNIIOSYSTEM=ON
-DCMAKE_TOOLCHAIN_FILE=$SOME_PATH/android.toolchain.cmake
**SOME_PATH** is the path containing your cmake android-toolchain script.
**SOME_PATH** is the path containing your **cmake** android-toolchain script.

The build script for this port is based on `Android-CMake <https://github.com/taka-no-me/android-cmake>`_.
See its documentation for more Android-specific cmake options (e.g. **-DANDROID_ABI** for the target ABI).
See its documentation for more Android-specific **cmake** options (e.g. **-DANDROID_ABI** for the target ABI).

- Code-Example:
A small example how to wrap assimp for Android:
A small example of how to wrap **Assimp** for Android:

::

Expand All @@ -146,4 +148,4 @@ A small example how to wrap assimp for Android:
importer->SetIOHandler(ioSystem);
}

The Assimp-package can be built as DLL. You just need to run the default cmake run.
The Assimp-package can be built as DLL. You just need to run the default **cmake** run.
12 changes: 6 additions & 6 deletions source/developer/developer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,21 +39,21 @@ Wrap the same guard around your .cpp!
* Implement the **Assimp::BaseImporter::CanRead()** : here the format detection will be perfoormed. You can detect the format by its extension or by parsing some token of the file content
* Implement **Assimp::BaseImporter::InternReadFile()**: Here you have to parse the file format and convert it into an aiScene-Instance:
* Implement **Assimp::BaseImporter::GetExtensionList()**: here you have to add the provided extensions (for the Wavefront-Files add .obj for instance).
* For error handling, throw a dynamic allocated **ImportErrorException** (see Appendix A) for critical errors, and log errors, warnings, infos, and debug info
* For error handling, throw a dynamic allocated **ImportErrorException** (see Appendix A) for critical errors, and log errors, warnings, info, and debug info
with **DefaultLogger::get()->[error, warn, debug, info]**.
* A simple example:

::

class MyyImporter : public BaseImporter {
public:
MyyImporter() : BaseImporter {}
MyyImporter() : BaseImporter = default;
MyyImporter() override {}
MyyImporter() override = default;
bool CanRead(const std::string &filename, IOSystem *pIOHandler, bool checkSig) const override {
if (checkSig) {
// Check the signature and return result
// Check the signature and return the result
} else {
const std::string extension = GetExtension(filename));
if ( extension == "myExt) {
Expand Down Expand Up @@ -83,7 +83,7 @@ ToDo!

Write your own unit / integration-test
--------------------------------------
After the importer and the exporter is ready you need to test them. The common way for doing this will be explained in this chapter. Assimp does provide
After the importer and the exporter is ready you need to test them. The common way of doing this will be explained in this chapter. Assimp does provide
some useful test utilities for importer and exporter testing.

Start writing test code for your importer and exporter by creating a test class at **test/unit/ImportExport/<YourImporterName>**.
Expand Down Expand Up @@ -159,7 +159,7 @@ You can also iterate over all children nodes via an Iterator interface:
XmlNodeIterator xmlIt(node, XmlNodeIterator::PreOrderMode);
XmlNode currentNode;
while (xmlIt.getNext(currentNode)) {
// all node will be iterated level wise
// all nodes will be iterated level wise
}

::
Loading

0 comments on commit 8df8631

Please sign in to comment.