MCPcopy Index your code
hub / github.com/Rajawali/Rajawali

github.com/Rajawali/Rajawali @1.2.1970

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2.1970 ↗ · + Follow
4,881 symbols 14,415 edges 438 files 1,056 documented · 22% updated 3y ago1.2.1970 · 2021-02-02★ 2,412184 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AndroidLibs License Maven Central Maven Central

Build Status

Master Branch Status
CircleCI codecov

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

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.

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

Extension points exported contracts — how you extend this code

IGlobalShaderVar (Interface)
Shader variables map to variable names that will be used in shaders. They are defined in enums for consistency and reuse [7 …
rajawali/src/main/java/org/rajawali3d/materials/shaders/AShaderBase.java
INamed (Interface)
(no doc) [11 implementers]
examples/src/main/java/org/rajawali3d/examples/data/INamed.java
IMaterialPlugin (Interface)
A material plugin is a container for a vertex and fragment shader. It can be plugged into the Material class so [52 implementers]
rajawali/src/main/java/org/rajawali3d/materials/plugins/IMaterialPlugin.java
IndexReferenceClickListener (Interface)
(no doc) [1 implementers]
examples/src/main/java/org/rajawali3d/examples/recycler/NamedReferenceViewHolder.java
IDisplay (Interface)
Interface defining some common methods which all Rajawali displays methods must implement. @author Jared Woolston (jwoo [78 …
rajawali/src/main/java/org/rajawali3d/view/IDisplay.java
IBlockParser (Interface)
Interface implemented by ABlockParser. This interface should not be implemented directly, instead extend {@link [28 implementers]
rajawali/src/main/java/org/rajawali3d/loader/LoaderAWD.java
ISurface (Interface)
Interface which all rendering surfaces must implement so that Renderer may send the few control signals it needs [5 implementers]
rajawali/src/main/java/org/rajawali3d/view/ISurface.java

Core symbols most depended-on inside this repo

get
called by 374
rajawali/src/main/java/org/rajawali3d/loader/LoaderAWD.java
getCurrentScene
called by 293
rajawali/src/main/java/org/rajawali3d/renderer/Renderer.java
assign
called by 253
rajawali/src/main/java/org/rajawali3d/materials/shaders/AShaderBase.java
setAll
called by 245
rajawali/src/main/java/org/rajawali3d/math/Matrix4.java
add
called by 242
rajawali/src/main/java/org/rajawali3d/math/Matrix4.java
size
called by 211
rajawali/src/main/java/org/rajawali3d/util/LittleEndianOutputStream.java
multiply
called by 192
rajawali/src/main/java/org/rajawali3d/math/Matrix4.java
setMaterial
called by 144
rajawali/src/main/java/org/rajawali3d/postprocessing/IPass.java

Shape

Method 4,148
Class 646
Enum 49
Interface 37
Function 1

Languages

Java98%
Kotlin2%

Modules by API surface

wear/src/main/java/org/rajawali3d/wear/EmptyGL10.java107 symbols
rajawali/src/main/java/org/rajawali3d/materials/shaders/AShaderBase.java99 symbols
rajawali/src/test/java/org/rajawali3d/math/vector/Vector3Test.java89 symbols
rajawali/src/main/java/org/rajawali3d/materials/shaders/AShader.java88 symbols
rajawali/src/test/java/org/rajawali3d/math/Matrix4Test.java81 symbols
rajawali/src/main/java/org/rajawali3d/renderer/Renderer.java81 symbols
rajawali/src/main/java/org/rajawali3d/view/TextureView.kt80 symbols
rajawali/src/main/java/org/rajawali3d/scene/Scene.java75 symbols
rajawali/src/test/java/org/rajawali3d/math/QuaternionTest.java72 symbols
rajawali/src/main/java/org/rajawali3d/Object3D.java71 symbols
rajawali/src/main/java/org/rajawali3d/materials/Material.java61 symbols
rajawali/src/main/java/org/rajawali3d/loader/fbx/FBXValues.java61 symbols

For agents

$ claude mcp add Rajawali \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page