/Rajawali

Android OpenGL ES 2.0/3.0 Engine

Primary LanguageJavaOtherNOASSERTION

AndroidLibs License Maven Central Maven Central

Build Status

Master Branch Status
CircleCI codecov

Develop Branch Status
CircleCI

News

06/23/2017 Bombshell 1.1.970 has been released. It fixes behavior of Objects of zero size, TextureView, TextureManager, Toon Shader color setters, custom shaders and more... It also adds preprocessor directive support for shader plugins, configurable skybox geometry, and extends our Unit Text Framework.

11/16/2016 Bombshell 1.1.777 has been released. It fixes a small number of bugs and adds a Scan Line post processing effect (thanks @contriteobserver).

9/7/2016 The official release of Bombshell 1.1.610 is out. We will continue to support this release moving forward how ever bug fixes will be minimal. The decision was made that the design of the core engine was inhibiting correcting some of the larger issues. To this end, we have begun development of a 2.0 version - see issue 1755 for details. Development is happening in the v2.0-development branch here

8/29/2016 An initial effort for adding unit testing to Rajawali has been made. This initial focus has been on the core math classes and will ideally expand as bug fixes progress. Pull requests for unit tests are welcome and any "bug fix" PRs which include unit tests or issues which include unit tests to demonstrate a failure will be given the highest priority.

General

Rajawali is a 3D engine for Android based on OpenGL ES 2.0/3.0. It can be used for normal apps as well as live wallpapers.

Want to keep the developers going? Buy them a beer! (http://www.pledgie.com/campaigns/21807)

Join the Rajawali Community on Rajawali Community on Google Plus to stay up-to-date on the latest news.

The RajawaliExamples project is an ever growing toolkit for developing 3D content. Check it out!

Made With Rajawali

Numerous apps and live wallpapers have been made with Rajawali. Check them out!

Using Rajawali with mavenCentral()

Using Rajawali is as simple as adding a single line to your gradle dependencies:

implementation 'org.rajawali3d:rajawali:x.x.x@aar where x.x.x is the version number (and the last number is the build number). If you wish to use the master branch snapshot, append -SNAPSHOT. For example, to use release 1.0.325, you would use:

implementation 'org.rajawali3d:rajawali:1.0.325@aar

To use the master branch build 48 snapshot 1.0.48-SNAPSHOT, you would use:

implementation 'org.rajawali3d:rajawali:1.0.48-SNAPSHOT@aar

All commits to master and development branch are deployed as snapshots. All tags will be deployed as releases. To see the latest build number, see the build history and be sure you choose a master branch build.

For the above to work you will need to make sure your repository list includes:

mavenCentral() for releases, and maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } for snapshots.

Alternatively, if you checkout Rajawali via GIT, you can run gradle assembleRelease uploadArchives (or simply add a Gralde launch config to Android Studio for the assembleRelease and uploadArchives tasks). This will deploy to your local maven repository. Consuming apps should have mavenLocal() in their repository list and add implementation 'org.rajawali3d:rajawali:1.0.0-SNAPSHOT@aar to their dependencies.

Using Rajawali with Jitpack

Just add the following lines to your build.gradle Here you see more details https://jitpack.io/#rajawali/rajawali

dependencies {
    implementation "com.github.rajawali:rajawali:$latest_version"
}

To tell Gradle where to find the library, make sure build.gradle also contains this:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Rajawali Examples On The Market

Download the free app

Rajawali + Augmented Reality

RajawaliVuforia GitHub

YouTube Video of RajawaliVuforia in action

Rajawali + Virtual Reality

RajawaliVR GitHub

YouTube Video of RajawaliVR in action

Tutorials

  1. Basic Setup & Sphere (Maven) 1. Basic Setup & a Sphere (Out of date)
  2. Creating a Live Wallpaper and Importing a Model
  3. Materials
  4. Optimization
  5. [Skybox] (https://github.com/MasDennis/Rajawali/wiki/Tutorial-05-Skybox)
  6. [Screenshots] (https://github.com/MasDennis/Rajawali/wiki/Tutorial-06-Screenshots)
  7. [Plugins] (https://github.com/MasDennis/Rajawali/wiki/Tutorial-07-Plugins)
  8. [User Interface Elements] (https://github.com/MasDennis/Rajawali/wiki/Tutorial-08-Adding-User-Interface-Elements)
  9. Creating a Custom Material GLSL Shader
  10. 2D Renderer
  11. Particles
  12. Object Picking
  13. Animation Classes
  14. Bump Normal Mapping
  15. MD2 Animation
  16. Collision Detection
  17. Importing .Obj Files
  18. Drawing Lines
  19. Catmull Rom Splines
  20. Animated Sprites
  21. Fog
  22. More Optimisation
  23. Custom Vertex Shader
  24. Using Geometry Data To Position And Rotate Objects
  25. Video Material
  26. Orthographic Camera
  27. Texture Compression
  28. Transparent Textures
  29. Skeletal Animation
  30. Creating a Day Dream
  31. [Using RajawaliScene] (https://github.com/MasDennis/Rajawali/wiki/Tutorial-31-Using-RajawaliScene)

Tutorials & Articles By Others

Learn Rajawali at a Training Center