Package org.lwjgl.assimp


@NullMarked package org.lwjgl.assimp
Contains bindings to the Assimp library, a library to import and export various 3d-model-formats including scene-post-processing to generate missing render data.

Assimp aims to provide a full asset conversion pipeline for use in game engines / realtime rendering systems of any kind, but it is not limited to this purpose. In the past, it has been used in a wide range of applications.

Written in C++, it is available under a liberal BSD license. Assimp loads all input model formats into one straightforward data structure for further processing. This feature set is augmented by various post processing tools, including frequently-needed operations such as computing normal and tangent vectors.

Resources

  • Class
    Description
    struct aiAABB { {@link AIVector3D struct aiVector3D} mMin; {@link AIVector3D struct aiVector3D} mMax; }
    An array of AIAABB structs.
    struct aiAnimation { {@link AIString struct aiString} mName; double mDuration; double mTicksPerSecond; unsigned int mNumChannels; {@link AINodeAnim struct aiNodeAnim} ** mChannels; unsigned int mNumMeshChannels; {@link AIMeshAnim struct aiMeshAnim} ** mMeshChannels; unsigned int mNumMorphMeshChannels; {@link AIMeshMorphAnim struct aiMeshMorphAnim} ** mMorphMeshChannels; }
    An array of AIAnimation structs.
    struct aiAnimMesh { {@link AIString struct aiString} mName; {@link AIVector3D struct aiVector3D} * mVertices; {@link AIVector3D struct aiVector3D} * mNormals; {@link AIVector3D struct aiVector3D} * mTangents; {@link AIVector3D struct aiVector3D} * mBitangents; {@link AIColor4D struct aiColor4D} * mColors[Assimp.AI_MAX_NUMBER_OF_COLOR_SETS]; {@link AIVector3D struct aiVector3D} * mTextureCoords[Assimp.AI_MAX_NUMBER_OF_TEXTURECOORDS]; unsigned int mNumVertices; float mWeight; }
    An array of AIAnimMesh structs.
    struct aiBone { {@link AIString struct aiString} mName; unsigned int mNumWeights; {@link AINode struct aiNode} * mArmature; {@link AINode struct aiNode} * mNode; {@link AIVertexWeight struct aiVertexWeight} * mWeights; {@link AIMatrix4x4 struct aiMatrix4x4} mOffsetMatrix; }
    An array of AIBone structs.
    struct aiCamera { {@link AIString struct aiString} mName; {@link AIVector3D struct aiVector3D} mPosition; {@link AIVector3D struct aiVector3D} mUp; {@link AIVector3D struct aiVector3D} mLookAt; float mHorizontalFOV; float mClipPlaneNear; float mClipPlaneFar; float mAspect; float mOrthographicWidth; }
    An array of AICamera structs.
    struct aiColor3D { float r; float g; float b; }
    An array of AIColor3D structs.
    struct aiColor4D { float r; float g; float b; float a; }
    An array of AIColor4D structs.
    struct aiExportDataBlob { size_t size; void * data; {@link AIString struct aiString} name; {@link AIExportDataBlob struct aiExportDataBlob} * next; }
    An array of AIExportDataBlob structs.
    struct aiExportFormatDesc { char const * id; char const * description; char const * fileExtension; }
    An array of AIExportFormatDesc structs.
    struct aiFace { unsigned int mNumIndices; unsigned int * mIndices; }
    An array of AIFace structs.
    struct aiFile { {@link AIFileReadProcI aiFileReadProc} ReadProc; {@link AIFileWriteProcI aiFileWriteProc} WriteProc; {@link AIFileTellProcI aiFileTellProc} TellProc; {@link AIFileTellProcI aiFileTellProc} FileSizeProc; {@link AIFileSeekI aiFileSeek} SeekProc; {@link AIFileFlushProcI aiFileFlushProc} FlushProc; aiUserData UserData; }
    An array of AIFile structs.
    Callback function: aiFileCloseProc
    Callback function: aiFileCloseProc
    Callback function: aiFileFlushProc
    Callback function: aiFileFlushProc
    struct aiFileIO { {@link AIFileOpenProcI aiFileOpenProc} OpenProc; {@link AIFileCloseProcI aiFileCloseProc} CloseProc; aiUserData UserData; }
    An array of AIFileIO structs.
    Callback function: aiFileOpenProc
    Callback function: aiFileOpenProc
    Callback function: aiFileReadProc
    Callback function: aiFileReadProc
    Callback function: aiFileSeek
    Callback function: aiFileSeek
    Callback function: aiFileTellProc
    Callback function: aiFileTellProc
    Callback function: aiFileWriteProc
    Callback function: aiFileWriteProc
    struct aiImporterDesc { char const * mName; char const * mAuthor; char const * mMaintainer; char const * mComments; unsigned int mFlags; unsigned int mMinMajor; unsigned int mMinMinor; unsigned int mMaxMajor; unsigned int mMaxMinor; char const * mFileExtensions; }
    An array of AIImporterDesc structs.
    struct aiLight { {@link AIString struct aiString} mName; aiLightSourceType mType; {@link AIVector3D struct aiVector3D} mPosition; {@link AIVector3D struct aiVector3D} mDirection; {@link AIVector3D struct aiVector3D} mUp; float mAttenuationConstant; float mAttenuationLinear; float mAttenuationQuadratic; {@link AIColor3D struct aiColor3D} mColorDiffuse; {@link AIColor3D struct aiColor3D} mColorSpecular; {@link AIColor3D struct aiColor3D} mColorAmbient; float mAngleInnerCone; float mAngleOuterCone; {@link AIVector2D struct aiVector2D} mSize; }
    An array of AILight structs.
    struct aiLogStream { {@link AILogStreamCallbackI aiLogStreamCallback} callback; char * user; }
    An array of AILogStream structs.
    Callback function: aiLogStreamCallback
    Callback function: aiLogStreamCallback
    struct aiMaterial { {@link AIMaterialProperty struct aiMaterialProperty} ** mProperties; unsigned int mNumProperties; unsigned int mNumAllocated; }
    An array of AIMaterial structs.
    struct aiMaterialProperty { {@link AIString struct aiString} mKey; unsigned int mSemantic; unsigned int mIndex; unsigned int mDataLength; aiPropertyTypeInfo mType; char * mData; }
    An array of AIMaterialProperty structs.
    struct aiMatrix3x3 { float a1; float a2; float a3; float b1; float b2; float b3; float c1; float c2; float c3; }
    An array of AIMatrix3x3 structs.
    struct aiMatrix4x4 { float a1; float a2; float a3; float a4; float b1; float b2; float b3; float b4; float c1; float c2; float c3; float c4; float d1; float d2; float d3; float d4; }
    An array of AIMatrix4x4 structs.
    struct aiMemoryInfo { unsigned int textures; unsigned int materials; unsigned int meshes; unsigned int nodes; unsigned int animations; unsigned int cameras; unsigned int lights; unsigned int total; }
    An array of AIMemoryInfo structs.
    struct aiMesh { unsigned int mPrimitiveTypes; unsigned int mNumVertices; unsigned int mNumFaces; {@link AIVector3D struct aiVector3D} * mVertices; {@link AIVector3D struct aiVector3D} * mNormals; {@link AIVector3D struct aiVector3D} * mTangents; {@link AIVector3D struct aiVector3D} * mBitangents; {@link AIColor4D struct aiColor4D} * mColors[AI_MAX_NUMBER_OF_COLOR_SETS]; {@link AIVector3D struct aiVector3D} * mTextureCoords[AI_MAX_NUMBER_OF_TEXTURECOORDS]; unsigned int mNumUVComponents[AI_MAX_NUMBER_OF_TEXTURECOORDS]; {@link AIFace struct aiFace} * mFaces; unsigned int mNumBones; {@link AIBone struct aiBone} ** mBones; unsigned int mMaterialIndex; {@link AIString struct aiString} mName; unsigned int mNumAnimMeshes; {@link AIAnimMesh struct aiAnimMesh} ** mAnimMeshes; aiMorphingMethod mMethod; {@link AIAABB struct aiAABB} mAABB; {@link AIString struct aiString} ** mTextureCoordsNames; }
    An array of AIMesh structs.
    struct aiMeshAnim { {@link AIString struct aiString} mName; unsigned int mNumKeys; {@link AIMeshKey struct aiMeshKey} * mKeys; }
    An array of AIMeshAnim structs.
    struct aiMeshKey { double mTime; unsigned int mValue; }
    An array of AIMeshKey structs.
    struct aiMeshMorphAnim { {@link AIString struct aiString} mName; unsigned int mNumKeys; {@link AIMeshMorphKey struct aiMeshMorphKey} * mKeys; }
    An array of AIMeshMorphAnim structs.
    struct aiMeshMorphKey { double mTime; unsigned int * mValues; double * mWeights; unsigned int mNumValuesAndWeights; }
    An array of AIMeshMorphKey structs.
    struct aiMetadata { unsigned int mNumProperties; {@link AIString struct aiString} * mKeys; {@link AIMetaDataEntry struct aiMetadataEntry} * mValues; }
    An array of AIMetaData structs.
    struct aiMetadataEntry { aiMetadataType mType; void * mData; }
    An array of AIMetaDataEntry structs.
    struct aiNode { {@link AIString struct aiString} mName; {@link AIMatrix4x4 struct aiMatrix4x4} mTransformation; {@link AINode struct aiNode} * mParent; unsigned int mNumChildren; {@link AINode struct aiNode} ** mChildren; unsigned int mNumMeshes; unsigned int * mMeshes; {@link AIMetaData struct aiMetadata} * mMetadata; }
    An array of AINode structs.
    struct aiNodeAnim { {@link AIString struct aiString} mNodeName; unsigned int mNumPositionKeys; {@link AIVectorKey struct aiVectorKey} * mPositionKeys; unsigned int mNumRotationKeys; {@link AIQuatKey struct aiQuatKey} * mRotationKeys; unsigned int mNumScalingKeys; {@link AIVectorKey struct aiVectorKey} * mScalingKeys; aiAnimBehaviour mPreState; aiAnimBehaviour mPostState; }
    An array of AINodeAnim structs.
    struct aiPropertyStore { char sentinel; }
    An array of AIPropertyStore structs.
    struct aiQuaternion { float w; float x; float y; float z; }
    An array of AIQuaternion structs.
    struct aiQuatKey { double mTime; {@link AIQuaternion struct aiQuaternion} mValue; aiAnimInterpolation mInterpolation; }
    An array of AIQuatKey structs.
    struct aiScene { unsigned int mFlags; {@link AINode struct aiNode} * mRootNode; unsigned int mNumMeshes; {@link AIMesh struct aiMesh} ** mMeshes; unsigned int mNumMaterials; {@link AIMaterial struct aiMaterial} ** mMaterials; unsigned int mNumAnimations; {@link AIAnimation struct aiAnimation} ** mAnimations; unsigned int mNumTextures; {@link AITexture struct aiTexture} ** mTextures; unsigned int mNumLights; {@link AILight struct aiLight} ** mLights; unsigned int mNumCameras; {@link AICamera struct aiCamera} ** mCameras; {@link AIMetaData struct aiMetadata} * mMetaData; {@link AIString struct aiString} mName; unsigned int mNumSkeletons; {@link AISkeleton struct aiSkeleton} ** mSkeletons; char * mPrivate; }
    An array of AIScene structs.
    struct aiSkeleton { {@link AIString struct aiString} mName; unsigned int mNumBones; {@link AISkeletonBone struct aiSkeletonBone} ** mBones; }
    An array of AISkeleton structs.
    struct aiSkeletonBone { int mParent; {@link AINode struct aiNode} * mArmature; {@link AINode struct aiNode} * mNode; unsigned int mNumnWeights; {@link AIMesh struct aiMesh} * mMeshId; {@link AIVertexWeight struct aiVertexWeight} * mWeights; {@link AIMatrix4x4 struct aiMatrix4x4} mOffsetMatrix; {@link AIMatrix4x4 struct aiMatrix4x4} mLocalMatrix; }
    An array of AISkeletonBone structs.
    struct aiString { ai_uint32 length; char data[Assimp.MAXLEN]; }
    An array of AIString structs.
    struct aiTexel { unsigned char b; unsigned char g; unsigned char r; unsigned char a; }
    An array of AITexel structs.
    struct aiTexture { unsigned int mWidth; unsigned int mHeight; char achFormatHint[9]; {@link AITexel struct aiTexel} * pcData; {@link AIString struct aiString} mFilename; }
    An array of AITexture structs.
    struct aiUVTransform { {@link AIVector2D struct aiVector2D} mTranslation; {@link AIVector2D struct aiVector2D} mScaling; float mRotation; }
    An array of AIUVTransform structs.
    struct aiVector2D { float x; float y; }
    An array of AIVector2D structs.
    struct aiVector3D { float x; float y; float z; }
    An array of AIVector3D structs.
    struct aiVectorKey { double mTime; {@link AIVector3D struct aiVector3D} mValue; aiAnimInterpolation mInterpolation; }
    An array of AIVectorKey structs.
    struct aiVertexWeight { unsigned int mVertexId; float mWeight; }
    An array of AIVertexWeight structs.
     
    Contains the function pointers loaded from the assimp SharedLibrary.