4730 Commits

Author SHA1 Message Date
iwgeric
d42a777909 Add showSoftKeyboard(boolean show) to JmeSystem.
Includes empty implementations for now.  Android to be implemented in next commit.
2014-12-12 08:15:53 -05:00
shadowislord
c5775ec30d Use default JDK for travis build 2014-12-09 19:06:43 -05:00
shadowislord
ac2f765d5b Cleanup GL interface from unused calls
Also modify glGet***InfoLog a bit to be more compatible with Android
2014-12-09 18:22:14 -05:00
shadowislord
373eaeae30 Match # of parallel build processes to number of CPUs for native builds 2014-12-09 18:07:38 -05:00
shadowislord
08ac64cd63 Remove GL autogen since the GL interface has now been generated and is final 2014-12-09 18:02:36 -05:00
shadowislord
33440fe5d0 Add missing android bullet libs (other platforms) 2014-12-09 18:00:01 -05:00
Bebul
b46973f33f Optimize Node.collideWith with no additional CollisionResults allocation 2014-12-09 15:04:42 +01:00
Paul Speed
44c860e2d2 Merge pull request #201 from Bebul/invalidateUpdateListOptimization
Fix invalidateUpdateList not to use both cycle and recursion traverse
2014-12-09 05:36:34 -05:00
Bebul
12d45dedc0 Fix invalidateUpdateList not to use both cycle and recursion traverse 2014-12-09 10:04:44 +01:00
iwgeric
8560b98aa0 Add android.jar to root project and use during jme-android project build.
Current version is rev19, KitKat.
2014-12-08 22:50:33 -05:00
iwgeric
6f4b90feed Temporary fix for searching for version strings until URA is done. 2014-12-08 22:41:45 -05:00
iwgeric
fb04910980 Always include the jme3-android-native but only build based on "buildNativeProjects" property.
Needed to allow for the project to package the pre-compiled libs if not building the project.
2014-12-08 22:35:23 -05:00
shadowislord
c6d0856480 Commit android library libdecodejme 2014-12-08 21:49:35 -05:00
Kirill Vainer
9b1b760056 Merge pull request #200 from GreenCubes/master
Fix loading FBX with absolute image path
2014-12-08 21:41:40 -05:00
Rena4ka
718bb09db1 Fix loading FBX with absolute image path 2014-12-09 05:30:31 +03:00
Nehon
30f8ff4b81 added a MipMapImageRaster that can read and write to the different mipmaps of an image 2014-12-09 00:02:34 +01:00
Nehon
1e9d1dd29c ImageCodec and all implementations now take and additional offset in the read/writeComponent methods
DefaultImageRaster now have a setSlice method
2014-12-09 00:01:39 +01:00
Nehon
7c41355cca fixed an issue where calling setCursorVisible on the ChaseCameraAppstate before it's initialized was causing an NPE. 2014-12-09 00:00:08 +01:00
Nehon
505ebd0e6b extractVersion in GLRenderer now uses regexp 2014-12-07 21:36:18 +01:00
Paul Speed
1f148fc3d7 Added a large scene stress test. Defaults to:
Total nodes:4681  Total Geometry:32768  Total controls:314

...the split depth can be increased for even more ridiculous
scenes.
2014-12-07 04:43:49 -05:00
Paul Speed
05c6986492 Significantly changed the way updateLogicalState
works internally to avoid full-scene graph traversals
once per frame.
Random unrelated things first:

Spatial constructors were modified to be protected since it
is an abstract class and it's good practice.  I also flipped
them to be this(default values) instead of this() to delegate
constructors.

Geometry and Node constructors were modified in similar ways
to at least call the this(name) version of the constructor
everywhere.

removeControl(Class) was modified to do what it's javadoc
says and only remove the first encountered control.  Prior
to this change, it was removing all matching controls.

The meaty stuff:
Node.updateLogicalState() no longer traverses all children
and never traverses any children at all unless it is the root.
If it is the root node, it keeps a list of all Spatials that
require updates and only iterates that list.

Spatial was modified to have a package-private requiresUpdates()
method that returns true if the requiresUpdates flag is set
or the Spatial has controls.

The requiresUpdates flag can be set by subclasses that require
updateLogicalState() to be called even if they have no controls.
(BitmapText is such an example.)  By default, subclasses will
_always_ have this flag set to true, ie: default to the OLD behavior
and avoid silently breaking.

Subclasses that wish to have the new-hotness optimal behavior
must call setRequiresUpdates(false) in their constructors.
They can opt in to better performance rather than silently
breaking with an upgrade.

The only negative side effect of this change (other than
slightly increased complexity) is that for large scene
graphs with lots and lots of controls or children requiring
updates, a large list of spatials will be kept in the root
node.  This will never exceed "number of spatials in the
scene graph" and so already had a fairly small upper bound
with the old code due to performance.

I think I've captured all of the edge cases... but we'll
see. :)

Stress test example to follow.
2014-12-07 04:39:22 -05:00
shadowislord
d3258429ec Use unified renderer architecture for LWJGL by default (other backends pending) 2014-12-05 22:36:55 -05:00
shadowislord
f189b94a4d Implement the new GL interface for the LWJGL backend 2014-12-05 22:34:54 -05:00
shadowislord
bd318f5d1b Introduce the unified renderer architecture for the OpenGL renderer
* Similar to the OpenAL URA, OpenGL calls are now made to an interface
   which is implemented by the backends
 * Major cleanups in the texture util code to handle GLES2 texture formats
 * Split the GL interface into several interfaces depending on API and version:
   - GL (common denominator for all GL APIs)
   - GL2 (desktop GL2)
   - GL3 (desktop GL3)
   - GLFbo (framebuffer object functions)
   - GLExt (desktop GL and OpenGL ES extensions)
 * Added GLTracer class which traces OpenGL calls made by the engine when activated
2014-12-05 22:29:58 -05:00
shadowislord
d8b9c6dab5 Make Renderer.initialize() a standard method since everyone already uses it anyway 2014-12-05 22:15:40 -05:00
shadowislord
ad26e916ee Update renderer capabilities
* Add capabilities not normally supported by GLES2 for unified renderer
 * Remove ARBProgram since it isn't used by jME3
2014-12-05 22:13:28 -05:00
shadowislord
d7b3cfe287 GLAutoGen updates
* Remove caps generation since it is no longer used by LWJGL renderer
 * Generate a separate interface GLExt for features only available in extensions to more easily detect their usage
 * Fix some extension references
2014-12-05 22:09:42 -05:00
shadowislord
ae70667104 Deprecate WrapMode.BorderClamp since it is deprecated in OGL3+ 2014-12-05 22:07:30 -05:00
shadowislord
610ac6ae24 Make sure Mesh.isAnimated() works for hardware skinning 2014-12-05 22:04:26 -05:00
shadowislord
a8c5e0f10d Fix crash in tests that use the tree model
- Since UseAlpha material parameter was removed from lighting
2014-12-05 22:01:22 -05:00
shadowislord
bf603b8f28 Mark "jme3-android-native" as a native project 2014-12-05 21:58:00 -05:00
shadowislord
798ec94b11 Minor cleanup for previous merge 2014-12-05 21:09:55 -05:00
shadowislord
10ee96d839 Merge branch 'updateGeometricStateOptimization' of https://github.com/Bebul/jmonkeyengine 2014-12-05 18:46:55 -05:00
Bebul
7f66641b74 Debug lines removed 2014-12-04 15:28:07 +01:00
Bebul
6636fba06a commented code relict removed 2014-12-04 15:28:07 +01:00
Bebul
2dd23c38c0 FIX: possible null getWorldBound in collideWith 2014-12-04 15:28:06 +01:00
Bebul
67fe2c4047 optimize CollideWith using preliminary BoundingVolume collide check 2014-12-04 15:28:06 +01:00
Bebul
c19842c55f clear RF_CHILD_LIGHTLIST even when there are no children 2014-12-04 15:17:39 +01:00
Bebul
a400cb1c58 Optimize updateGeometricState to not recurse all children when not necessary
Conflicts:
	jme3-core/src/main/java/com/jme3/scene/Node.java
2014-12-04 15:17:38 +01:00
Kirill Vainer
41580062b8 Merge pull request #194 from tejbirwason/master
Added steps for proper Eclipse setup and steps to build project with Gradle
2014-12-02 00:14:40 -05:00
shadowislord
e3497dcf50 Switch from gradle 1.12 to 2.2.1 2014-12-01 23:41:13 -05:00
Paul Speed
308e88fd21 Fixed what I'm pretty sure is a typo. I didn't test it
but I can see no reason to clear the refresh flag on these
methods but setting it seems entirely logical.
2014-12-01 03:12:38 -05:00
tejbirwason
22de97ef9a update steps for eclipse setup and building project 2014-11-30 14:23:35 -08:00
shadowislord
af58aeb779 Fix Renderer.copyFrameBuffer() exception 2014-11-28 11:43:52 -05:00
shadowislord
c7b6445a35 Fix exception when stopping non-cached audio stream 2014-11-27 11:51:45 -05:00
shadowislord
44db44ee56 Add updated bullet native android libs 2014-11-25 19:16:25 -05:00
shadowislord
17998b4006 Make sure core openal package is listed in SDK baselibs 2014-11-25 19:10:30 -05:00
shadowislord
9e02ef0d5d Fixed various assertion errors in audio renderer
Added additional assertions and other checks where appropriate
2014-11-25 19:04:31 -05:00
shadowislord
9ce69eee62 Fix two issues with streaming OGG/Vorbis
- In certain cases, padding was present at the end of streams causing noticeable clicking when looped. This is handled by truncating the stream to its actual size.
 - When playing an ogg stream without stream cache, an exception would be raised since the stream was closed prematurely
2014-11-25 18:57:54 -05:00
shadowislord
595eb56f9b Throw exception if seeking a non-seekable audio stream 2014-11-25 18:51:23 -05:00