4852 Commits

Author SHA1 Message Date
Nehon
8b3e335d33 updated gitignore so that it ignores sdk dist files 2014-12-28 16:23:36 +01:00
Nehon
fea3faf9af Minor fix in TestRenderToCubeMap 2014-12-28 16:23:34 +01:00
Nehon
05baf56130 The skyFactory now supports Equirectangular environment maps, as it's a pretty popular format.
It has been refactored to handle the 3 env map types : CubeMap, SphereMap, EquirectMap
2014-12-28 16:23:32 +01:00
Nehon
9f459af4e3 One can now call readFrameBuffer with a specific format, implementation has been done for the GLRenderer only.
For now only placeholders have been done for the renderers that are still not using URA (all except LWJGL).
2014-12-28 16:23:30 +01:00
Nehon
995ab83a9e Deprecated LwjglRenderer and Lwjgl's TextureUtils. URA is used when choosing LWJGL as renderer. 2014-12-28 16:23:27 +01:00
jmekaelthas
c9eadcc762 Bugfix: fixed a bug that caused ugly artifacts to appear sometimes while
computing constraints. The fix also improved the constraints computation
speed at least several times :)
2014-12-21 17:54:39 +01:00
Paul Speed
9eca2251a9 Handle more gracefully the case where a texture
directive has no image specified.  Prior to this
it was throwing an ArrayIndexOutOfBounds exception
which was silently swallowed even though the
import fails.
2014-12-20 03:49:53 -05:00
jmekaelthas
d399e0594b Merge branch 'master' of https://github.com/jMonkeyEngine/jmonkeyengine.git 2014-12-12 23:52:13 +01:00
jmekaelthas
65c3ff668c Bugfix: sorting constraint computation in the proper order which should
decrease the amount of unwanted artifacts appearing in some models
during animations.
2014-12-12 23:51:48 +01:00
iwgeric
a55aae21f9 Minor cleanup of mouse / keyboard methods for touch.
Depreciated InputManager.getSimluateMouse and replaced with InputManager.isSimulateMouse for consistancy.
Removed depreciated TouchInput.getSimulateMouse().
Added InputManager.isSimulateKeyboard() to keep consistancy with mouse methods.
2014-12-12 13:16:41 -05:00
iwgeric
a116389814 Forgot to add isSimulateKeyboard to TouchInput interface. 2014-12-12 13:00:05 -05:00
iwgeric
1ed1463476 Add support for enabling/disabling KeyEvent simulation for soft keyboards on Android similar to MouseEvents. 2014-12-12 12:48:25 -05:00
iwgeric
249f62fe95 remove showVirtualKeyboard from TouchInput 2014-12-12 12:16:45 -05:00
iwgeric
7040e32cc4 Add javadoc to JmeSystem.showSoftKeyboard 2014-12-12 12:04:16 -05:00
iwgeric
858fd433ca Implement showSoftKeyboard for Android.
Also changed JmeAndroidSystem to store the view instead of the activity.
When users call JmeSystem.showSoftKeyboard(true), the default Android soft keyboard is displayed and any key presses are sent to jME as touch events.  Key events are also generated so the user can use the same key listeners as Desktop to keep the user code common between Desktop and Android platforms.
2014-12-12 08:42:13 -05:00
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