- computed the spotDirection in view space on the java side in Material and pass it as a uniform -> vec4 spotVec disapear
- this implies to decode the cos values for falloff in the frag shader instead of the vert shader, but allows to reduce light vec from vec4 to vec3
All in all it shouldn't be that much of a performance hit, since the matrix multiplication of spotVec occur once per geometry instead of once per vertex, we could go further and compute it once per frame.
On the other hand decoding of the cos values happens once for each pixel instead of once for each vertex ( a floor a mult and a fract). I guess this should be balanced in a rich scene.
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7978 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
- Changed cloning method to clone(boolean cloneMaterial), and added a clone() method that calls clone(true). The missing clone(boolean) method was preventing the particle emitter to be correctly cloned when loading it from a j3o file yielding weird results.
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7946 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
- fixed setNumParticle method to correctly update the mesh buffers
- added a getMaxNumParticle that returns the max number of particles of the emitter
- changed testMovingParticles and testPointSprite to change the numParticle when hitting the space bar
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7939 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
* ZipLocator will now crash if the specified zip file does not exist
* Fixed crash when restarting context with pixel format changes
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7914 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
* Fix crash in TestWalkingChar
* Fix crash in TestDopper
* Fix crash in TestApplication
* Fix deprecation warnings in audio tests
* Fixed issues with particle emitter cloning and import/export
* Fixed TempVars crashes in BoundingSphere
* Fixed incorrect deprecation warning in AudioNode
* Added smart caching to materials
* Added test to verify that particle export and cloning is working correctly
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7907 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
- Changed Material's renderMultipassLighting method to not reuse Shader's values instance, and to use temporary allocated variables in the material instance instead
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7901 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
no good can come from overriding them. Also made those
variables volatile so that other threads are guaranteed to
see the right values.
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7874 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
renderer as set by the application update(). a) this
ensures that the audio node must be updated on the render
thread like everything else, b) it means that audio node
doesn't need to juggle its own reference to AudioRenderer
since from the right thread it can always get at it.
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7873 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This means it is possible for a control to modify its own
node hierarchy in a way that might have caused random skipping
at best and index out of bounds exceptions at worse.
Also, users can iterate over children and detach them at the
same time using standard for each constructs.
Performance is the same for me though I'd expected it to be
at least slightly faster given that most inner loops now use
direct array access. My scenes must not exploit this much.
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7857 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
in such a way that the list can be modified while being iterated.
Furthermore, it exposes the raw array "snapshot" for iteration
simplifying some code elsewhere.
I've left comments in the code as to some beneficial mods that
could be made for the target use-cases.
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7856 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
* Particles now have proper glow
* Fixed bug where references to static variables would stay in ParticleEmitter and particleInfluencer, causing havoc
* Fixed warning in InputManager when using ScreenshotAppState
* TestEverything now uses TangentBinormalGenerator, since before there was no tangents for the floor
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7821 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
* Blender importer now puts transparent materials in the transparent queue bucket
* Blender importer creates RGBA8 textures as a result of blending
* Blender importer - all textures are now mipmapped by default
* Lighting shader now supports lightmap
* Fixed GLSL 1.5 warnings
* Ogre3D materials now use glow color as emissive color
* MaterialLoader will now only load first texture unit instead of last
* All XML loaders are now namespace aware by default so that android can properly load XML
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7792 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
- created a FilterParmeter annotation to use reflection (java.util.reflection) to display filter's properties in the editor
- using WaterFilter() empty constructor will now use the first scene of the viewport as the reflection scene (the water reflection), and use the direction of the first directional light found in this scene.
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7757 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
* XML representation of savable now writes version (no reading yet)
* Initial attempt of fixing "frozen after app restart" bug
* Fixed NVIDIA shininess bug (!!!) - No longer need to set m_Shininess on materials!
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7734 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
* When loading models with SimpleTextured/WireColor/SolidColor materials
* When loading Unshaded material with spelling error "SeperateTexCoord" instead of "SeparateTexCoord"
* Also fixed issue with loading animated models
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7729 75d07b2b-3a1a-0410-a2c5-0572b91ccdca