This page provides information on the Chaos Phoenix application programming interface (API).

Overview


The Chaos Phoenix API is included with the installation of Phoenix for Autodesk® Maya®. It provides C++ API for several different purposes:

 

Installation


Phoenix API is normally installed in the folder C:\Program Files\Chaos Group\Phoenix FD\Maya NNNN for x64\SDK where NNNN is the version of Maya (2020, 2019, etc.).

 

Structure


The Phoenix API includes the following folders:

  • \include – Contains the header files needed to interface with Phoenix API.
  • \lib – Contains the Phoenix API binaries for both static and dynamically linked versions of the Phoenix API. 
  • \samples Contains example projects that use different functions of the Phoenix API.

 

Using the Phoenix API


The Phoenix API is provided as a static and dynamic library. Depending on your project, you may pick the static or dynamic version of the library. Usually the dynamic version is preferred when there is a dependency to any version of V-Ray SDK, as Phoenix API depends on vutils_s.lib.

Using Phoenix API as a static library requires:

  • \lib\aurloader_s.lib and \lib\vutils_s.lib to be added as an additional dependency to the linker.

Using Phoenix API as a dynamic library requires:

  • AURLOADER_DYNAMIC_LIB to be added the compiler settings as a preprocessor definition.
  • \lib\aurloader.lib to be added as an additional dependency to the linker.
  • \lib\aurloader.dll to be available at run time to the executable linked to \lib\aurloader.lib.

Phoenix API is built with the vc14 C++ Platform Toolset for all Maya versions and for both V-Ray Next and V-Ray 5, with "/MD" Runtime Library flag.


Samples


The Phoenix API comes with two code sample projects: GridView and CSVParticles.

Prerequisites:

The project uses CMake for generating project files. Additionally the following third party libraries have been used:

Here is an archive containing those libraries: external_libs

Note: This is just a collection of the libraries as we downloaded them from their respective official sites. We don't take any responsibility for the way the actual libraries work or affect your PC.

 

GridView


GridView is a simple smoke rendering implemented in OpenGL. it is located in the \samples\GridView directory.

 

 

Prerequisites:

In order to build this sample, all external libraries must be located in a GridView/external_libs.


Build steps:

  • Place all external libraries in GridView/external_libs.
  • Use CMake to generate project files that best suite you needs. Please take in account the C++ Platform Toolset that is used by your version of Phoenix API. See the Using Phoenix API section.
  • Set PHOENIX_SDK_DIR to Phoenix API, for example: C:\Program Files\Chaos Group\Phoenix FD\Maya NNNN for x64\SDK.
  • Generate the project files and build.

 

CSVParticles


CSVParticles exports particle groups stored in Phoenix *.aur files to *.csv recognized by Thinkbox Krakatoa (CSV File Format).

 

Prerequisites:

In order to build this sample, all external libraries must be located in a CSVParticles/external_libs.


Build steps:

  • Place all external libraries in the folder CSVParticles/external_libs.
  • Use CMake to generate project files that best suite you needs. Please take in account the C++ Platform Toolset that is used by your version of Phoenix API. See the Using Phoenix API section.
  • Set PHOENIX_SDK_DIR to Phoenix API, for example C:\Program Files\Chaos Group\Phoenix FD\Maya NNNN for x64\SDK.
  • Generate the project files and build.