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
pspeed42
70c10aac3a
Added the base abstract app state class that was
...
originally from Lemur. This provides more convenient
enabled-state management than the normal AbstractAppState
class. In addition, it exposes convenience methods for
getting to other app states, the application instance,
etc..
2014-09-11 15:42:05 -04:00
Nehon
ead8393600
Made GeometryGroupNode.getGeometryStartIndex public
2014-09-11 21:23:05 +02:00
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
abies
a6827ead5a
Revert "Utility methods for getting arbitrary properties for triangles from mesh buffers"
...
This reverts commit f80d6474a4c9e69725a1de1fe13acdb07a56c2b4.
2014-07-28 12:19:16 +02:00
abies
f80d6474a4
Utility methods for getting arbitrary properties for triangles from mesh buffers
2014-07-28 12:15:26 +02:00