Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.kotlin-graphics:assimp:v4.0'
}
dependencies {
implementation("com.github.kotlin-graphics:assimp:v4.0")
}
<dependency>
<groupId>com.github.kotlin-graphics</groupId>
<artifactId>assimp</artifactId>
<version>v4.0</version>
</dependency>
libraryDependencies += "com.github.kotlin-graphics" % "assimp" % "v4.0"
:dependencies [[com.github.kotlin-graphics/assimp "v4.0"]]
JVM porting of Assimp
This port is being written trying to stick as much as possible close to the C version in order to:
A small example how to load files:
AiScene scene = new Importer().readFile("test/resources/models/OBJ/box.obj");
val scene = Importer().readFile("test/resources/models/OBJ/box.obj")
If you have a format or a feature which is not yet supported, you can use the original assimp (or the lwjgl one) to load the mesh you have and save it in assimp binary format (.assbin). Once done, you can load it with this port.
In case you don't know how to do it, you may open an issue giving the mesh, specifying the options and I'll convert it for you into binary assimp.
Please note that using the binary assimp format is also the fastest way to import meshes into your application.
The development is essentially feature-driver, if you want to express your preference -> Format wish list
Do not hesitate to offer any help: pushes (java or kotlin, it doesn't matter), testing, website, wiki, etc
Advantages:
Disadvantages: