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
-
ClassDescription
struct aiAABB { {@link AIVector3D struct aiVector3D} mMin; {@link AIVector3D struct aiVector3D} mMax; }An array ofAIAABBstructs.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 ofAIAnimationstructs.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 ofAIAnimMeshstructs.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 ofAIBonestructs.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 ofAICamerastructs.struct aiColor3D { float r; float g; float b; }An array ofAIColor3Dstructs.struct aiColor4D { float r; float g; float b; float a; }An array ofAIColor4Dstructs.struct aiExportDataBlob { size_t size; void * data; {@link AIString struct aiString} name; {@link AIExportDataBlob struct aiExportDataBlob} * next; }An array ofAIExportDataBlobstructs.struct aiExportFormatDesc { char const * id; char const * description; char const * fileExtension; }An array ofAIExportFormatDescstructs.struct aiFace { unsigned int mNumIndices; unsigned int * mIndices; }An array ofAIFacestructs.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 ofAIFilestructs.Callback function:aiFileCloseProcCallback function:aiFileCloseProcCallback function:aiFileFlushProcCallback function:aiFileFlushProcstruct aiFileIO { {@link AIFileOpenProcI aiFileOpenProc} OpenProc; {@link AIFileCloseProcI aiFileCloseProc} CloseProc; aiUserData UserData; }An array ofAIFileIOstructs.Callback function:aiFileOpenProcCallback function:aiFileOpenProcCallback function:aiFileReadProcCallback function:aiFileReadProcCallback function:aiFileSeekCallback function:aiFileSeekCallback function:aiFileTellProcCallback function:aiFileTellProcCallback function:aiFileWriteProcCallback function:aiFileWriteProcstruct 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 ofAIImporterDescstructs.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 ofAILightstructs.struct aiLogStream { {@link AILogStreamCallbackI aiLogStreamCallback} callback; char * user; }An array ofAILogStreamstructs.Callback function:aiLogStreamCallbackCallback function:aiLogStreamCallbackstruct aiMaterial { {@link AIMaterialProperty struct aiMaterialProperty} ** mProperties; unsigned int mNumProperties; unsigned int mNumAllocated; }An array ofAIMaterialstructs.struct aiMaterialProperty { {@link AIString struct aiString} mKey; unsigned int mSemantic; unsigned int mIndex; unsigned int mDataLength; aiPropertyTypeInfo mType; char * mData; }An array ofAIMaterialPropertystructs.struct aiMatrix3x3 { float a1; float a2; float a3; float b1; float b2; float b3; float c1; float c2; float c3; }An array ofAIMatrix3x3structs.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 ofAIMatrix4x4structs.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 ofAIMemoryInfostructs.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 ofAIMeshstructs.struct aiMeshAnim { {@link AIString struct aiString} mName; unsigned int mNumKeys; {@link AIMeshKey struct aiMeshKey} * mKeys; }An array ofAIMeshAnimstructs.struct aiMeshKey { double mTime; unsigned int mValue; }An array ofAIMeshKeystructs.struct aiMeshMorphAnim { {@link AIString struct aiString} mName; unsigned int mNumKeys; {@link AIMeshMorphKey struct aiMeshMorphKey} * mKeys; }An array ofAIMeshMorphAnimstructs.struct aiMeshMorphKey { double mTime; unsigned int * mValues; double * mWeights; unsigned int mNumValuesAndWeights; }An array ofAIMeshMorphKeystructs.struct aiMetadata { unsigned int mNumProperties; {@link AIString struct aiString} * mKeys; {@link AIMetaDataEntry struct aiMetadataEntry} * mValues; }An array ofAIMetaDatastructs.struct aiMetadataEntry { aiMetadataType mType; void * mData; }An array ofAIMetaDataEntrystructs.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 ofAINodestructs.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 ofAINodeAnimstructs.struct aiPropertyStore { char sentinel; }An array ofAIPropertyStorestructs.struct aiQuaternion { float w; float x; float y; float z; }An array ofAIQuaternionstructs.struct aiQuatKey { double mTime; {@link AIQuaternion struct aiQuaternion} mValue; aiAnimInterpolation mInterpolation; }An array ofAIQuatKeystructs.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 ofAIScenestructs.struct aiSkeleton { {@link AIString struct aiString} mName; unsigned int mNumBones; {@link AISkeletonBone struct aiSkeletonBone} ** mBones; }An array ofAISkeletonstructs.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 ofAISkeletonBonestructs.struct aiString { ai_uint32 length; char data[Assimp.MAXLEN]; }An array ofAIStringstructs.struct aiTexel { unsigned char b; unsigned char g; unsigned char r; unsigned char a; }An array ofAITexelstructs.struct aiTexture { unsigned int mWidth; unsigned int mHeight; char achFormatHint[9]; {@link AITexel struct aiTexel} * pcData; {@link AIString struct aiString} mFilename; }An array ofAITexturestructs.struct aiUVTransform { {@link AIVector2D struct aiVector2D} mTranslation; {@link AIVector2D struct aiVector2D} mScaling; float mRotation; }An array ofAIUVTransformstructs.struct aiVector2D { float x; float y; }An array ofAIVector2Dstructs.struct aiVector3D { float x; float y; float z; }An array ofAIVector3Dstructs.struct aiVectorKey { double mTime; {@link AIVector3D struct aiVector3D} mValue; aiAnimInterpolation mInterpolation; }An array ofAIVectorKeystructs.struct aiVertexWeight { unsigned int mVertexId; float mWeight; }An array ofAIVertexWeightstructs.Contains the function pointers loaded from the assimpSharedLibrary.