159 Commits

Author SHA1 Message Date
shadowislord
c7b6445a35 Fix exception when stopping non-cached audio stream 2014-11-27 11:51:45 -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
595eb56f9b Throw exception if seeking a non-seekable audio stream 2014-11-25 18:51:23 -05:00
shadowislord
64b3be5334 Fix incorrect animation when dynamically switching from SW anim -> HW anim 2014-11-21 21:44:16 -05:00
shadowislord
be1f219f29 The old Android MediaPlayer based audio renderer is now deprecated 2014-11-20 20:33:30 -05:00
shadowislord
915b0b8c61 Replace AtomicBoolean with Object as the audio thread lock 2014-11-20 20:24:23 -05:00
shadowislord
2ec7366fde Initialize OpenAL context in the render thread
Also remove useless AndroidAudioRenderer from jme3-ios
2014-11-20 20:21:37 -05:00
shadowislord
9965d20c44 Make sure we copy the mipmap sizes when generating texture array from images 2014-11-18 21:12:15 -05:00
shadowislord
a5699e9d82 Streaming audio data now works in a similar way to buffered data.
It is possible to loop streaming sources, as well as play
them again after they finished playing. It is possible to stop()
and then play() a streaming source to start playing from the
beginning. Essentially the lifecycle of a streaming audio
is now completely controlled by the user, in the same fashion
as buffered data.
In addition, AudioNode status updates (when an audio stops playing)
now occur every frame rendered, as opposed to every 50 milliseconds.
2014-11-16 13:14:33 -05:00
shadowislord
3b384a7e58 Minor cleanup in ALC interface 2014-11-16 13:08:36 -05:00
shadowislord
ad2a5366e1 WAVLoader now implements SeekableStream (but only if seeking to time = 0) 2014-11-16 13:02:51 -05:00
shadowislord
91715c4a48 Add support for URA, or Unified Renderer Architecture for audio
* Unified all renderers into common class 'ALAudioRenderer'
 * LWJGL and Android now implement the AL / ALC / EFX interfaces to provide a common OpenAL backend for jME
 * Added support for OpenAL Soft "Pause Device" extension, which allows the engine to pause the context while running in the background (currently requires OpenAL soft 1.16 and thus is Android only feature)
2014-11-15 15:15:50 -05:00
Nehon
3bad91ef19 Single pass lighting now computes view dir in the appropriate space out of the lights loop as it's the same for all lights. 2014-11-15 11:11:11 +01:00
shadowislord
5f84147154 Fix issue where loading material parameters from J3O would fail 2014-11-11 17:55:47 -05:00
Nehon
603432790b Fixed Gaussian blur weighting thanks to http://hub.jmonkeyengine.org/forum/topic/gaussian-blur-shader-issue/ 2014-11-10 00:15:21 +01:00
shadowislord
4717e7006f Goodbye, OpenGL1 2014-11-09 12:29:28 -05:00
shadowislord
0c41d1725f Remove deprecated formats from Image (w/o changing enum ordinal) 2014-11-09 11:55:51 -05:00
shadowislord
62cfbc8a3e Remove usage of all deprecated image formats 2014-11-09 11:50:57 -05:00
shadowislord
bbd6c613f0 Reduce "Integer" class churn in rendering statistics
* Use IntMap instead of HashMap<Integer>
 * Cache last set shader to save hashmap lookup on every set uniform
2014-11-08 18:04:03 -05:00
shadowislord
b83603cd8f Added support for ETC1 compression (regular OGL only for now) 2014-11-07 21:04:55 -05:00
Nehon
81fe180713 Better Single pass test 2014-11-07 23:19:59 +01:00
shadowislord
3992ed89af Fix point sprite on Android. Fixes issue #82. 2014-11-05 23:50:09 -05:00
shadowislord
bf2656abf3 If we are loading a material from a J3O file, do not crash on missing material parameters, but log it instead.
Fixes test crash on any tests using cornellbox.j3o
2014-11-05 23:11:35 -05:00
shadowislord
b7ae8e6e3a Fix issue #127 2014-11-05 20:59:22 -05:00
David Bernard
4fdde38bc2 Merge remote-tracking branch 'upstream/master' into fix_fb_depth24stencil8 2014-11-05 12:15:38 +01:00
David Bernard
37da17e3eb add support of DepthStencil into *Renderer
+ a test app
- only tested on desktop with Lwjgl
2014-11-05 12:15:14 +01:00
shadowislord
84046018ba Avoid use of LWJGL specific ContextCapabilities class.
Instead parse GL_EXTENSIONS and use that to determine supported features.
2014-11-04 23:28:50 -05:00
shadowislord
4050b7cbbf * Require alpha discard define to be set in order to enable the alpha discard feature (for multi pass lighting shader) 2014-11-04 16:52:17 -05:00
shadowislord
e225e6ff89 * Move certain render context specific fields from Renderer into RenderContext 2014-11-04 14:12:29 -05:00
Nehon
c55717141e Single pass lighting implementation.
Along with some light shaders refactoring and clean up
2014-11-04 20:09:14 +01:00
shadowislord
c274675660 FilterPostProcessor: Add fallback to RGB8 in case RGB111110F is not supported (OGL2 / ES2 GPUs)
Post processing now works on Android again.
2014-11-02 19:12:58 -05:00
neph1
2c38efe051 A bunch of basic ShaderNodes 2014-11-01 13:27:19 +01:00
Nehon
6e287d0ef2 Introduced light culling when rendering shadow maps for all light types. When a light is out of the frustum, the shadow maps are not rendered anymore.
Also implemented proper Zextend and ZFade for al Light type allowing to cap the shadow distance and to smoothly fade shadows in and out
2014-10-26 16:05:37 +01:00
Nehon
260eb128f6 fixed typo in MAterialDebugAppState 2014-10-26 16:05:36 +01:00
Nehon
8f43da58ae Better spotlight vs frustum intersection check and with a testcase 2014-10-26 16:05:35 +01:00
Nehon
d5c96d84ee Fixed initialization issues in ChaseCameraAppState 2014-10-26 16:05:34 +01:00
Nehon
24a971a186 Fixed an issue where shadowZFadeLenght was not working with the DirectionalLightShadowRenderer 2014-10-26 16:05:33 +01:00
Nehon
9cd1a514a6 Fixed an issue with cinematic that was causing the first frame of the cinematic to not be rendered.
Also fix some static constant calls the non static way in MotionPath
2014-10-20 15:10:44 +02:00
abies
9484f1f4b4 Added Iterable<Geometry> support for GeometryList, so it can be use with foreach statements 2014-10-12 22:11:52 +02:00
Nehon
dd7ea3d2a7 Fixed Spline and MotionPath init issue when setting a curve tension before adding way points 2014-10-10 18:43:51 +02:00
Normen Hansen
3a3145df09 Add RootNodeAppState, managing and updating a rootNode in an AppState 2014-09-29 13:56:29 +02:00
shadowislord
b1211e55a4 Implement spot light v. frustum culling by converting the spot light into an oriented-bounding box and then performing frustum v. OBB intersection. 2014-09-14 00:33:40 -04:00
shadowislord
e76559a847 Set the light filter's camera in RenderManager.setCamera() as it is more appropriate. 2014-09-14 00:32:10 -04:00
shadowislord
b51f015fb9 Add rudimentary cone v. frustum intersection test for light culling.
Restrict spot light angles to be between [0, pi/2]
2014-09-13 23:16:59 -04:00
shadowislord
1c0d798707 Add support for light culling or "filtering".
When rendering a geometry, light filtering is performed against the geometrys' world lights
to avoid rendering lights which will not effect the rendering outcome.
If the light is outside the camera frustum OR the light is outside the model's bounding volume,
then it will not be rendered.
2014-09-13 17:10:33 -04:00
shadowislord
75a67d0611 Particle.j3md now supports shadow casting (only for triangle-based particles) 2014-09-13 16:46:52 -04:00
shadowislord
bfc866774f Fix lighting crash when using environment mapping due to the addition of instancing 2014-09-13 16:06:11 -04:00
pspeed42
aea5e4af31 Added a basic AppProfiler implementation and corresponding
app state.  If the app state is attached then it's 'enabled'
state can be toggled with the F6 key.
It displays a continnuously updating bar graph of the application
wide frame timings for 'update' and 'render'... where 'update'
is all of the parts that aren't 'rendering', ie: running
enqueued tasks, updating states, updating controls, etc..
2014-09-12 02:09:36 -04:00
pspeed42
a517130528 Added hooks for detailed performance profiling.
Implementors can provide their own AppProfiler
implementation to collect and/or visualize timing
stats however they want, even at the viewport level
if they choose.
A basic profiler implementation will be following
shortly that does simple update vs render frame
timings.
2014-09-11 16:20:08 -04:00
pspeed42
3d32b012c2 Checking in the profiler classes separately as I work
around some commit issue with RenderManager.  Actually 
calling of these hooks will follow immediately.
Added hooks for detailed performance profiling.
Implementors can provide their own AppProfiler
implementation to collect and/or visualize timing
stats however they want, even at the viewport level
if they choose.
A basic profiler implementation will be following
shortly that does simple update vs render frame
timings.
2014-09-11 16:08:10 -04:00