LegacyApplication. This is a breaking change for any class extending Application
directly.
And regardless, if you refer to Application then you will need to clean build
your app... and any of your dependencies that also refer to Application. Basically,
anything using an AppState will need to be clean built against the next alpha.
implementing objects will still be able to keep a regular public
clone() method that may do their own selective deep cloning. This
allows explicit demarcation between the normal 'user' facing clone()
and the two step cloning process used by Cloner.
Specifically, this will let Spatial continue to have a clone() method
that operates as it does today... with its new guts essentially calling
a properly configured Cloner.
However, this is not ideal, as this code will trigger a recompilation of the shader on each pass, in case there is more than 1 lighting pass.
Another way could be to multiply the indirect lighting contribution by the Ambient light color in the shader, and always perform the indirect lighting code (even without light probe).
As in the second pass ambient light is forced to 0, the indirect lighting contribution would be nullified. However we'd have to force ambient light to 0 if there are no light probe.
This would also have the nice side effect of having a way to dim or boost indirect lighting with the ambient light color.
same JVM. a) this makes a good example of self-hosted style
LAN multiplayer games, and b) it causes the serialization bug
to show up so I can fix it. (Already fixed it and that commit
will be next... it's almost like TDD.)
to make a more complete example. It should now be relatively
well behaved through all normal shutdown paths.
Modified the server to gracefully close the client connections
when shutting down rather than just letting the sockets die.
* master: (94 commits)
First attempt to fix a bug reported by david_bernard_31, the size of the strings in the shader code was wrongly computed for the JOGL backend
Allows to choose between the forward compatible profile and the backward compatible profile in the JOGL backend
Displays the JOGL version instead of the NEWT version
Updates JOGL (2.3.2)
Bugfix: fix to importing blend files with linked content.
native loader: set lwjgl library path for lwjgl3
Updated lwjgl3 module to use LWJGL 3.0.0b #35 which is the current stable build.
Change duplicated docstring in FlyByCamera.unregisterInput
light : fixed pointLight v. bounding sphere unit test
light : replaced duplicated code by methods from Intersection
Removed native library jemalloc.dll for LWJGL3 as this will not be needed until 3.0.0b and after.
light : added unit tests for the new support of bounding spheres intersections (for lightFilter)
Fixed Issue #46 : The MaterialViewer will now simply ignore not available textures instead of crashing
Lights (see #362) : added light v. sphere intersection, and implementations of intersectsSphere(), second attempt
GImpactCollisionShape : fix for #188, added a call to updateBound() in native jni binding, just after creating the shape, (native createShape() method)
Bugfix: fixed a bug that caused importer to crash when the author of the blend file assigned non existing UV coordinates group name to a mesh.
Bugfix: fixed a bug that caused subdivision surface modifier to crash if at least one not connected vertex was in the mesh.
The LWJGL 3 renderer was missing a call to GLContext.createFromCurrent(), sorted now.
Changed the default app title in AppSettings to use the full name string from JmeVersion. This way no more manual changing of this will be needed for future versions. This also closes#320 which highlighted this issue. Thanks @8Keep.
Fixed#316 where some post processing effects were not working when using OPENGL_3 renderer due to an error in the fragment shader.
...
- Introduced a new Light type : LightProbes that are lights holding Image based Lighting information that are sent to the shader. For now, only the closest LightProbe from a geometry is sent to the shader. This will be enhanced later as it's obviously not the best way to handle this.
- Added a LightProbeFactory for easy creation and rendering of LightPorbes and associated maps. The maps generation process can also be monitored through a Listener class.
- Added various utility classses for debuging purpose.
- Added a new test case for environment with multiple LightProbes.
- Adapted the previous test case to the new system.
Added a stress test for unshadedNodes.
Changed the name of the texture parameter to textureMap in TextureFetch shaderNode as it was conflicting with the texture function used to fetch a texel from a a texture in glsl 1.5