157 Commits

Author SHA1 Message Date
pspeed42
5a482e2b98 Added another Photoshop tyle blend mode: Exclusion
Performs a sort of color XOR with source and destination.
Very useful for UI highlighting but is a bizarre (and
potentially useful) effect in 3D.
2014-09-10 14:00:27 -04:00
shadowislord
dbd9ed9d78 Merge pull request #126 from kwando/screen_blendmode
Add Screen blend mode.
2014-09-07 16:54:23 -04:00
shadowislord
82715fbf8c Merge pull request #155 from blay09/bug/handleerrorheadless
Prevent error dialog from being displayed in a headless context
2014-09-07 16:53:03 -04:00
shadowislord
3a6e1c5044 Merge pull request #168 from kwando/color_changes
fromIntARG and fromIntRGBA now returns self.
2014-09-07 16:30:53 -04:00
shadowislord
57d4dbb1b1 Merge pull request #172 from kwando/master
Move update logic into DefineList.
2014-09-07 16:26:53 -04:00
shadowislord
cc9b22de4c Change the compare function error in ListSort to be more user friendly and indicate the likely cause of the error. 2014-09-07 15:54:33 -04:00
shadowislord
2b83b65f69 Change the compare function error in ListSort to be more user friendly and indicate the likely cause of the error. 2014-09-07 15:46:27 -04:00
shadowislord
73fc9bc1fd Revert 04f8956
The inconsistent compare function errors are due to user error, not engine error.
2014-09-07 15:38:07 -04:00
shadowislord
1d29bc3197 Make sure to throw exception if trying to use instancing but its not supported 2014-09-07 12:26:42 -04:00
Nehon
04f8956992 Revert back to merge sort for geometry sorting.
Some issues have been reported, and are difficult to track as they happen randomly.
2014-09-07 13:56:33 +02:00
Nehon
d17bdb6485 BatchNode and GeometryBatchFactory now can handle normalized buffers.
Also added a check in BatchNode that was present in GeometryBatchFactory
2014-09-06 20:55:58 +02:00
Hannes Nevalainen
3d6656463e Move update logic into DefineList. 2014-09-01 22:20:16 +02:00
Nehon
124b5e51da Fix an issue in the ShaderGenerator where it was unable to find the main function in a shader source when there were additional spaces.
Also made the error more explicit when the matching fail.
2014-08-28 10:52:35 +02:00
Nehon
d33853d393 MaterialDebugAppState now properly applies renderStates
Added a set method in RenderState
2014-08-27 20:15:35 +02:00
Rena4ka
f28c31d851 Fix and extend FBX file loader
Fix using AssetManager.loadModel() with fbx file causing to throw
AssetLoadException.
Implemented loading of new file format .fba - .fbx file with animation
mapping.
2014-08-18 06:19:28 +04:00
Hannes Nevalainen
b74e501fac fromIntARG and fromIntRGBA now returns self. 2014-08-17 11:16:01 +02:00
tort32
e5002c1428 Implemented FBX file loader 2014-08-16 05:35:02 +04:00
Nehon
b7433b99f7 Fixed issue in SkeletonControl applySkinningTangents where weight data index was not converted to unsigned byte. 2014-08-14 15:14:43 +02:00
Rémy Bouquet
37b6a2063a Merge pull request #156 from ChristianGaertner/patch-1
[Bounding] Minor JavaDoc fix
2014-08-14 10:11:31 +02:00
pspeed42
2d549ea833 Modified to keep its projectionMatrixOverride around
to avoid garbage creation in setClipPlane().
2014-08-12 17:56:56 -04:00
pspeed42
ed443bcfa2 Modified Camera.setClipPlane() to avoid garbage
creation using tempvars.  Only a new matrix is 
created now and I think I can get rid of that, too.
2014-08-12 16:32:18 -04:00
pspeed42
e0ee685466 Added a second vect4f to tempvars so renamed the
first one to follow other conventions.  Seems like
Material is the only thing using it (and I think it
could get away with a vec3 really but no harm done).
2014-08-12 16:31:06 -04:00
pspeed42
079c4c6482 Only allocate the array list when there are results.
A small thing... but significant in some use-cases.
2014-08-12 04:38:03 -04:00
pspeed42
c98a348fd2 Was a little overzealous in my Float conversion and
converted some stuff that only needs to be float.
Undid that.
2014-08-12 03:54:48 -04:00
pspeed42
3cf0e35a17 Added a setFloat() that takes a Float to avoid
auto-boxing in the case where a Float is already
at hand.
2014-08-12 03:54:19 -04:00
pspeed42
c0465b73a8 Added a newFrame() method to UniformBindingManager
to signal the beginning of a frame.  Currently this
just grabs the time and tpf values once so as to avoid
per-material Float allocation and time drift within a
frame.
RenderManager now calls this at the beginning of the
root-level render() method.
2014-08-12 03:11:43 -04:00
pspeed42
852ae28605 Removed the redundant camera.update() calls.
Switched many of the lists to SafeArrayList to avoid
per frame iterator allocations.
2014-08-12 02:52:55 -04:00
pspeed42
5d6d2b9bd7 Commented out the onFrameChange() in update() because
its redundant.
Modified setGuiBounding to call the new setCenter(x,y,z)
method instead of allocating a Vector3f each time. (This
method is called any time someone sneezes.)
Fixed a missing line feed in a javadoc comment.
2014-08-12 02:50:08 -04:00
pspeed42
efd6f0bf66 Avoid per-render iterator allocations by using the
SafeArrayList.getArray() method.
2014-08-12 02:48:06 -04:00
pspeed42
6625e572f5 Keep the scene and processor lists as SafeArrayList
for faster/cleaner iteration.
2014-08-12 02:47:34 -04:00
pspeed42
34b4eebb81 Avoid allocation of a temporary float[] array
and avoid allocation of a needless Vector3f array.
2014-08-12 02:46:42 -04:00
pspeed42
28adc784a9 Allow the center to be set without creating a
new Vector3f first.
2014-08-12 02:46:11 -04:00
pspeed42
97b8cb7435 Let triangle intersections fall right on the edge
the diagonal.
2014-08-12 02:45:36 -04:00
pspeed42
1b0f6d0f59 Fix for proper collision distance based on
precedent.  "I had one job..."
2014-07-27 21:47:55 -04:00
pspeed42
0633c0c5bc Fixed an accidental sharing of temp vars vects
that turned out to matter.
2014-07-27 18:31:44 -04:00
pspeed42
d5e20d53d0 Implemented accurate bounding sphere to triangle
collision.  The old code had an implementation but
it missed tons of cases.

For 100,000 random points, the old way would process
that in about 12+ ms.  The new way does it in about
18+ ms... but the old way missed 643 collisions
(180 versus 823).

Plus, with the new way accurate contact normal and
contact point can be provided trivially... so it is.
2014-07-27 18:11:43 -04:00
pspeed42
1ad6a57b32 Added a version of createFloatBuffer that takes
a ColoRGBA array.
2014-07-27 18:08:28 -04:00
Jan Ivenz
dacaaa5477 Fixed clamp method in ColorRGBA. 2014-07-18 18:31:40 +02:00
pspeed42
216f874175 Added support for instancing at the mesh level.
(so far only for lwjgl because I'm lazy)
Went ahead and added in divisor support while I was
at it because it doesn't cost anything and there might
be use-cases for it.
Mesh now knows about instances and you can directly
ask it for an instance count.  I haven't added support
for proper bounding box calculation but it should
at least be possible now.
2014-07-11 01:14:47 -04:00
pspeed42
cce7b0f6de More tab eradication. 2014-07-10 02:49:21 -04:00
pspeed42
9b8b730c44 Added a license header. 2014-07-10 01:55:29 -04:00
Paul Speed
1a4f07b36a Fixing tabs to spaces. 2014-07-10 01:38:19 -04:00
Hannes Nevalainen
9027b748eb Update javadoc for screen blend mode. 2014-07-01 19:19:53 +02:00
Hannes Nevalainen
ccb946e65d Add Screen blend mode. 2014-07-01 19:17:25 +02:00
Christian Gärtner
33c9e6041b [Bounding] Minor JavaDoc fix 2014-07-01 17:53:46 +02:00
Nehon
7356b727c3 Instancing now works with Lighting material, and shadows are supported with instanced geometries 2014-06-29 18:41:32 +02:00
Nehon
a11bfa5e63 Fixed a bug where grouped geom were rendered in shadow pre-pass because they were still in the shadow cast queue 2014-06-29 18:40:31 +02:00
shadowislord
fa41da59a4 * Fix outstanding cloning related issues in InstancedNode
* Throw exception if the geometry's material does not support instancing
 * Test the cloning function in TestInstanceNode
2014-06-28 20:52:30 -04:00
shadowislord
6ddc68278b * Make sure InstancedGeometry is non-batchable spatial 2014-06-28 20:50:10 -04:00
shadowislord
4ae99f9d5d * Fix incorrect reset of Geometry members after cloning 2014-06-28 20:49:21 -04:00