Thelema - 3D graphics engine, written in Kotlin. Based on sources of libGDX.

Overview

logo

Thelema Engine

Awesome Kotlin Badge Discord

Thelema is multiplatform 3d graphics engine on Kotlin. It was based on libGDX sources and completely redesigned.

Download

Enter your credentials to download engine libraries. How to get token.

repositories {
    mavenCentral()
    maven {
        url = uri("https://maven.pkg.github.com/zeganstyl/thelema-engine")
        credentials {
            username = "username"
            password = "token"
        }
    }
}
dependencies {
    implementation("app.thelema:thelema-jvm:0.6.0")
}

Quick Start

Live Kotlin/JS tests

Thelema vs LibGDX

youtube

Features

  • Shaders
    • Autogenerating shaders by shader nodes
    • Deferred shading
    • Physicaly based rendering (PBR)
    • Emissive materials
    • Tonemapping
    • Bloom
    • SSAO
    • Cascaded shadow mapping
    • Motion blur
    • IBL
  • 3D graphics
    • VBO, VAO, Instancing buffers
    • Skinned meshes
    • Lights: directional, point
    • glTF 2.0 loading
  • Audio
    • Ogg/Vorbis loading
    • WAV loading
    • Procedural sound generation
  • JSON
  • Image loading from JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC
  • ODE physics
  • Platforms: Desktop JVM, HTML5, Android

Work in progress

  • 3D Editor
  • HTML5 rigid body physics
  • GUI (redesign)
  • Audio API (redesign)

Things that may be implemented in future

  • Vulkan API
  • Kotlin/Native
  • Navigation mesh
You might also like...
A fast, lightweight, entity component system library written in Kotlin.

Fleks A fast, lightweight, entity component system library written in Kotlin. Motivation When developing my hobby games using LibGDX, I always used As

Sample Code for fake Kotlin library written in Java

Jatlin このリポジトリは ブログ記事 のためのサンプルコードです。詳細は記事をご覧ください。 プロジェクト構成 :java-lib にKotlinに偽装したJavaファイルが含まれます。 :kotlin-lib は :java-lib をビルドしたJARファイルをKotlinから読み込んで実行

📚  Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.
📚 Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.

Android Components Architecture in a Modular Word Android Components Architecture in a Modular Word is a sample project that presents modern, 2020 app

Slime World Format implementation written in Kotlin with Zstd for bukkit.

Slime Korld Easily create many slime worlds with the Slime Korld. What is Slime Korld? Slime Korld is a bukkit library written in Kotlin to make minec

Stresscraft - State-of-art Minecraft stressing software written in Kotlin

StressCraft (W.I.P) State-of-art Minecraft stressing software written in Kotlin.

GBooks - A simple android app written in Kotlin to read books from the Google Book Api
GBooks - A simple android app written in Kotlin to read books from the Google Book Api

G-Books A simple android app written in Kotlin to read books from the Google Boo

LanServers - A small plugin written in Kotlin that runs on all major Minecraft Servers

LanServers This is a small plugin written in Kotlin that runs on all major Minec

A Java Virtual Machine written in Kotlin
A Java Virtual Machine written in Kotlin

jvm.kotlin A Java Virtual Machine written in Kotlin. Introduction jvm.kotlin is a toy JVM programmed in Kotlin. The main purpose of this project is le

A property/method accessor library for the JVM, written in Kotlin

unlok - unlock your JVM a property/method accessor library for the JVM, written in Kotlin. how to import you can import unlok from maven central just

Comments
  • native linux package

    native linux package

    Did you manage not just run test under linuxX64 target with Gradle but also make distributive package for Linux, that works natively without JDK installed? Is it possible at the moment?

    opened by dmitrykolesnikovich 28
  • Newest version is not posted on repository

    Newest version is not posted on repository

    Hi, can you please provide the newest 0.6.0 version on some repo? Please be advised, that the jcenter is deprecated. It would be a shame if you stopped working on such great software :) keep up the good work.

    opened by rafi0 2
  • How to download engine libraries?

    How to download engine libraries?

    I am looking for a 3D library in Java or Kotlin and your one looks very promising, so I want to try it out. Working through the QuickStart (https://github.com/zeganstyl/thelema-engine/wiki/Quick-Start), lots of classes cannot be imported. Probably I need the engine as stated in the Main page from readme (https://thelema.app/), where you write: Enter your credentials to download engine libraries. How to get token.

    I have created a token in GitHub, but when I try a gradle build, I am still getting Could not GET 'https://maven.pkg.github.com/zeganstyl/thelema-engine/app/thelema/thelema-jvm/0.7.0/thelema-jvm-0.7.0.pom'. Received status code 401 from server: Unauthorized

    My build.gradle.kts looks as follows (inserted username/token instead of ... parts):

    [...]
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url = uri("https://maven.pkg.github.com/zeganstyl/thelema-engine")    // not found
            credentials {
                username = "...myusername..."
                password = "...thetoken..."
            }
        }
    }
    
    dependencies {
        implementation("app.thelema:thelema-jvm:0.7.0")       // this is the current version
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
        implementation("org.ksdfv.thelema:thelema-lwjgl3:0.1.0")
    
        testImplementation(kotlin("test"))
    }
    [...]
    

    How can I download the engine files? Do you need to give access? (I noticed that you are also in GitLab, I can also access there if you prefer that).

    Thanks a lot!

    opened by EdithBirrer1 3
  • Old links, and overall deprecated

    Old links, and overall deprecated "quick start"

    Hi, links are no longer valid in your doc. For example here: https://github.com/zeganstyl/thelema-engine/wiki/Postprocessing-shaders Links there lead to 404 error. Please update the links. Also can you please add some contact info to you? (mail, facebook)

    opened by rafi0 1
Releases(0.5.0)
Owner
Anton Trushkov
Thelema engine developer
Anton Trushkov
An extension of EditText with pin style written in Kotlin

pin-edittext An extension of EditText with pin style Usage Include PinCodeEditText in your layout XML <com.oakkub.android.PinEditText android:layo

Metas Kerdwat 15 May 28, 2021
🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

???? 中文 / ???? 日本語 / ???? English ?? Debug Bottle An Android debug / develop tools written using Kotlin language. All the features in Debug bottle are

Yuriel Arlencloyn 846 Nov 14, 2022
A lightweight cache library written in Kotlin

[NEW] Released to Maven Central: 'com.github.yundom:kache:1.x.x' Kache A runtime in-memory cache. Installation Put this in your build.gradle implemen

Dennis 22 Nov 19, 2022
Android AsyncTask wrapper library, written in Kotlin

KillerTask This is a Kotlin Android library to create async background tasks. Inspired by TinyTask, but more beautiful and easy to use for Kotlin Andr

Inaka 26 Oct 3, 2022
Advancement Utils for Android Developer written in Kotlin

RichUtils About Version: 2.0.0 :: Dreaming Bird (夢魅鳥, Yumemidori) :: Release Note (Eng) : https://blog.uzuki.live/richutils-2-0-0-dreaming-bird-releas

WindSekirun (wind.seo) 169 Nov 13, 2022
A simple 'Slide to Unlock' Material widget for Android, written in Kotlin 📱🎨🦄

Slide To Act A simple Slide to Unlock Material widget for Android, written in Kotlin ??. Getting Started Example Features Attributes area_margin inner

Nicola Corti 984 Jan 2, 2023
Mobile client for official Nextcloud News App written as Kotlin Multiplatform Project

Newsout Android and iOS mobile client for Nextcloud news App. The Android client is already available to download in the Play Store. F-Droid and Apple

Simon Schubert 118 Oct 3, 2022
Spigot-Plugin message providing system written in Kotlin

teller Spigot-Plugin message providing system written in Kotlin Usage Create an instance of PropertiesMessageProvider using the Constructor with an in

Luca Zieserl 2 Jan 16, 2022
A furry-themed assembly language and interpreter written in Kotlin.

A furry-themed assembly language and interpreter written in Kotlin. Inspired by Furcode, the Synacor challenge, and JVM bytecode. I spent multiple hou

Maow 9 Nov 22, 2021
A Chip-8 emulator written in Kotlin

A Chip-8 emulator written in Kotlin

Cedric Beust 87 Dec 27, 2022