Code, Compiler, and Linker

Most of the code necessary to initialize Shockwave 3D is contained in the S3DsceneGraphUtils::Init() method, whose use is recommended.

Note: Any files in the 3D Studio MAX exporter sample source that start with S3D* are free of MAX-specific code and can be used in any exporter.

When compiling the exporter, make sure that the following preprocessor macros are defined at the project level so that they are globally defined for every compiled module:

[Windows§ only] Link the exporter against the following libraries:

IFXCommon.lib
IFXBoundHierarchy.lib
IFXPalette.lib
IFXPrimitive.lib
IFXPhysics.lib
IFXScheduler.lib
IFXScenegraph.lib
IFXTextureManager.lib
IFXUVGenerator.lib
IFXHashMap.lib
IFXBase.lib
IFXBones.lib
IFXWriter.lib
IFXShaders.lib
IFXMultiRes.lib
IFXAuthorGeom.lib
IFXSubDiv.lib
IFXMemNative.lib
IFXRenderOpenGL.lib
IFXRenderBase.lib
IFXRenderDirectX.lib
IFXBitstream.lib
IFXLocalImageTools.lib
IFXStatic.lib
IFXRenderSW.lib
IFXImageTools-ijg.lib
IFXImageTools-zlib.lib
IFXMRMAuthor.lib

To use the bone debugging mode, you must also link against:

opengl32.lib
glu32.lib

The project .DSP file included, which will build the 3D Studio MAX version of this exporter, should also help build your own exporter.

[Windows and Macintosh§] Any exporter that links against IFXRenderOpenGL.lib must globally define the variable g_hInst as a void * pointer to avoid a linker error.

§See asterisked (*) statement at Legal Information © 2001 Intel Corporation.