Top Description Interfaces Classes
module lwjgl.assimp

Package org.lwjgl.assimp

Annotations
@NonnullDefault

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.

Interface Summary

Modifier and TypeInterface and Description
public interface
AIFileCloseProcI

Type


void (*invoke) (
    struct aiFileIO *pFileIO,
    struct aiFile *pFile
)
public interface
AIFileFlushProcI

Type


void (*invoke) (
    struct aiFile *pFile
)
public interface
AIFileOpenProcI

Type


struct aiFile * (*invoke) (
    struct aiFileIO *pFileIO,
    char const *fileName,
    char const *openMode
)
public interface
AIFileReadProcI

Type


size_t (*invoke) (
    struct aiFile *pFile,
    char *pBuffer,
    size_t size,
    size_t count
)
public interface
AIFileSeekI

Type


aiReturn (*invoke) (
    struct aiFile *pFile,
    size_t offset,
    aiOrigin origin
)
public interface
AIFileTellProcI

Type


size_t (*invoke) (
    struct aiFile *pFile
)
public interface
AIFileWriteProcI

Type


size_t (*invoke) (
    struct aiFile *pFile,
    char const *pBuffer,
    size_t memB,
    size_t count
)
public interface
AILogStreamCallbackI

Type


void (*invoke) (
    char const *message,
    char *user
)

Class Summary

Modifier and TypeClass and Description
public class
AIAABB

Layout


struct aiAABB {
    struct aiVector3D mMin;
    struct aiVector3D mMax;
}
public class
AIAnimation

An animation consists of keyframe data for a number of nodes.

public class
AIAnimMesh

An AnimMesh is an attachment to an AIMesh stores per-vertex animations for a particular frame.

public class
AIBone

A single bone of a mesh.

public class
AICamera

Helper structure to describe a virtual camera.

public class
AIColor3D

Represents a color in Red-Green-Blue space.

public class
AIColor4D

Represents a color in Red-Green-Blue space including an alpha component.

public class
AIExportDataBlob

Describes a blob of exported scene data.

public class
AIExportFormatDesc

Describes an file format which Assimp can export to.

public class
AIFace

A single face in a mesh, referring to multiple vertices.

public class
AIFile

Actually, it's a data structure to wrap a set of fXXXX (e.g fopen) replacement functions.

public abstract class
AIFileCloseProc

Type


void (*invoke) (
    struct aiFileIO *pFileIO,
    struct aiFile *pFile
)
public abstract class
AIFileFlushProc

Type


void (*invoke) (
    struct aiFile *pFile
)
public class
AIFileIO

Provided are functions to open and close files.

public abstract class
AIFileOpenProc

Type


struct aiFile * (*invoke) (
    struct aiFileIO *pFileIO,
    char const *fileName,
    char const *openMode
)
public abstract class
AIFileReadProc

Type


size_t (*invoke) (
    struct aiFile *pFile,
    char *pBuffer,
    size_t size,
    size_t count
)
public abstract class
AIFileSeek

Type


aiReturn (*invoke) (
    struct aiFile *pFile,
    size_t offset,
    aiOrigin origin
)
public abstract class
AIFileTellProc

Type


size_t (*invoke) (
    struct aiFile *pFile
)
public abstract class
AIFileWriteProc

Type


size_t (*invoke) (
    struct aiFile *pFile,
    char const *pBuffer,
    size_t memB,
    size_t count
)
public class
AIImporterDesc

Meta information about a particular importer.

public class
AILight

Helper structure to describe a light source.

public class
AILogStream

Represents a log stream.

public abstract class
AILogStreamCallback

Type


void (*invoke) (
    char const *message,
    char *user
)
public class
AIMaterial

Data structure for a material.

public class
AIMaterialProperty

Data structure for a single material property.

public class
AIMatrix3x3

Represents a row-major 3x3 matrix.

public class
AIMatrix4x4

Represents a row-major 4x4 matrix, use this for homogeneous coordinates.

public class
AIMemoryInfo

Stores the memory requirements for different components (e.g. meshes, materials, animations) of an import.

public class
AIMesh

A mesh represents a geometry or model with a single material.

public class
AIMeshAnim

Describes vertex-based animations for a single mesh or a group of meshes.

public class
AIMeshKey

Binds a anim mesh to a specific point in time.

public class
AIMeshMorphAnim

Describes a morphing animation of a given mesh.

public class
AIMeshMorphKey

Binds a morph anim mesh to a specific point in time.

public class
AIMetaData

Layout


struct aiMetadata {
    unsigned int mNumProperties;
    struct aiString * mKeys;
    struct aiMetadataEntry * mValues;
}
public class
AIMetaDataEntry

Layout


struct aiMetadataEntry {
    aiMetadataType mType;
    void * mData;
}
public class
AINode

A node in the imported hierarchy.

public class
AINodeAnim

Describes the animation of a single node.

public class
AIPropertyStore

Represents an opaque set of settings to be used during importing.

public class
AIQuaternion

Represents a quaternion in a 4D vector.

public class
AIQuatKey

A time-value pair specifying a rotation for the given time.

public class
AIScene

The root structure of the imported data.

public class
AISkeleton

A skeleton represents the bone hierarchy of an animation.

public class
AISkeletonBone

A skeleton bone represents a single bone is a skeleton structure.

public class
AIString

Represents an UTF-8 string, zero byte terminated.

public class
AITexel

Helper structure to represent a texel in a ARGB8888 format.

public class
AITexture

Helper structure to describe an embedded texture.

public class
AIUVTransform

Defines how an UV channel is transformed.

public class
AIVector2D

Layout


struct aiVector2D {
    float x;
    float y;
}
public class
AIVector3D

Layout


struct aiVector3D {
    float x;
    float y;
    float z;
}
public class
AIVectorKey

A time-value pair specifying a certain 3D vector for the given time.

public class
AIVertexWeight

A single influence of a bone on a vertex.

public class
Assimp

Contains bindings to the Assimp library.