Added initial code for default gl state.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Fixes #99 by providing a pre-multiplied view-projection matrix.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Slightly optimized depth test calls

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
General cleanup.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Added default blend state.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Merge branch 'master' into default_cull_state
Merge branch 'master' into default_cull_state
Changed the drawing mode to GL_TRIANGLES for colour picking. It shouldn't be anything else.
Fixes a bug in the fix for #99 where child meshes were being rendered
with the wrong view-project matrix. Thanks @MasDennis!

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Fix for bounding boxes not displaying. Same issue as previous commit.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Merge pull request #788 from Tenkiv/optimization

RFC: Basic Optimizations
Merge branch 'master' of https://github.com/MasDennis/Rajawali
Added a new Capabilities class. This can be queried for OpenGL specific capabilities like maximum texture size, maximum viewport dimensions, etc.
This has been added to RajLog.systemInformation() as well.
Added a material manager and made materials thread safe.
Also removed the bitwise parameters. They are replaced with appropriate getters and setters. #792
Update CHANGELOG.md

Added details for multiple cameras, scenes and added section for task queue.
Changed the way object colors work to reduce memory footprint and increase performance (slightly).
`AMaterial`'s method `setUseColor(boolean useColor)` has been removed. There are two new methods that replace it:
- `setUseSingleColor(boolean value)`: When the object uses a single color for the whole mesh use this. This way no color buffer will be created which reduces the memory footprint and increases performance, especially in big scenes.
- `setUseVertexColors(boolean value)`: Use this when your mesh has multiple colors. This isn't applicable to textures, just vertex colors.
geometry and buffer optimisation. color, normal and texture coordinate buffers were created when they weren't used.
added boolean parameters to primitives to indicate whether specific buffers should be created or not.
also added a ScreenQuad primitive. this was done with a regular Plane before but this was very confusing.
also added a bit of documentation to the primitive classes.
Added an extra option to the constructor. the plane up axis can be specified now. the default axis is Axis.Z, looking at the camera. To create a ground plane use Axis.Y.
Revert "Added an extra option to the constructor. the plane up axis can be specified now. the default axis is Axis.Z, looking at the camera. To create a ground plane use Axis.Y."

This reverts commit 6c742cfb83eec9a1762b57d86ac4e4a42adbb4e5.
Revert "Revert "Added an extra option to the constructor. the plane up axis can be specified now. the default axis is Axis.Z, looking at the camera. To create a ground plane use Axis.Y.""

This reverts commit 2a749f4258be2026b074b50c32da73c56fd5e73f.