253 Commits

Author SHA1 Message Date
Rémy Bouquet
6fdf0dffd3 Merge pull request #211 from Bebul/optimizeRenderShadow
Optimize RenderShadow to use scene hierarchy for culling
2015-02-23 21:52:59 +01:00
shadowislord
14ff6e4f29 SinglePass Lighting: support two sided lighting
- also added test case with both regular per pixel lighting and bump mapping
 - NOTE: two sided lighting is not supported with vertex lighting
2015-02-22 15:47:56 -05:00
shadowislord
270f4957ef SinglePass Lighting: fix GLSL syntax error when parallax mapping is used 2015-02-22 15:45:23 -05:00
shadowislord
d6a4ba41b4 Image: request mipmaps to be re-generated if image data is modified
- fixes ImageRaster modification not updating mipmaps bug
2015-02-22 15:43:54 -05:00
shadowislord
50f0eca3e6 Skeletal Animation: remove shared mesh support
- shared meshes in J3O / OgreXML are automatically de-shared on import, so this functionality is no longer used in the engine
2015-02-22 15:42:48 -05:00
shadowislord
5760a48eea Skeletal Animation: remove deprecated SkeletonControl ctor
- it is not useful, because targets / materials are gathered on every update() call
2015-02-22 15:41:10 -05:00
shadowislord
c5359c7359 Animation Track interface: add getKeyFrameTimes() method 2015-02-22 12:49:31 -05:00
shadowislord
d281920e60 GLSL Lighting Lib: fix flickering on directional lights in sRGB mode 2015-02-22 12:47:55 -05:00
shadowislord
9d715cdd2b Lighting GLSL library: use inverse square falloff for lighting in sRGB mode
- It is a slightly modified equation that actually terminates the light's influence at the light radius
2015-02-21 22:50:29 -05:00
shadowislord
4e7d7fd2f1 GLRenderer: inject SRGB define if texture linearization is enabled 2015-02-21 15:52:42 -05:00
shadowislord
8b300f5109 jME3 tools: delete triangle stripper 2015-02-21 15:43:26 -05:00
Bebul
ed369135fa fix renderShadow optimization to work on multiple scenes attached to viewPort properly 2015-02-20 11:58:49 +01:00
Nehon
21179dc132 Changed standard lighting to blinn phong instead of phong only 2015-02-18 20:39:45 +01:00
shadowislord
6c770d524d Application: add waitFor flag to start()
Allows user to wait for app to initialize first before doing other actions
2015-02-15 16:47:11 -05:00
shadowislord
d9cc9003ba GLRenderer: update viewport even if FBO ID already set
The inherited viewport state could be outdated or incorrect, this makes sure it matches exactly
2015-02-15 16:45:07 -05:00
shadowislord
ec2f47225c RenderContext: remove obsolete state from GL1 renderer 2015-02-15 16:44:10 -05:00
shadowislord
9651d6d822 GL interface: add support for PBO, FB readback, and fences (ARB sync) 2015-02-15 16:42:42 -05:00
shadowislord
fb7708af24 GLRenderer: Fix modifyTexture(). Clarify documentation. 2015-02-15 16:38:23 -05:00
Nehon
9500b43aa9 some clean up in the ShaderGenerator 2015-02-13 10:43:01 +01:00
Nehon
53a40c887e Fixed shader error output. the shader source code was appended twice in the log. 2015-02-12 22:43:03 +01:00
Nehon
5b6b33c8f5 The shader generator now supports swizzle on the left variable of a mapping :
input mapping vec3 v3.xy = v2
will generate
vec3 v3 = vec3(0.0);
v3.xy = v2;
As this statement can't be done in one line.
2015-02-12 22:32:59 +01:00
Nehon
a04a304954 Fixed an error where matching swizzle were reported as wrong when using swizzle of type vec3 v3 = v2.xxy 2015-02-12 22:29:44 +01:00
Nehon
3acd6b2f33 Fixed the error message when types/swizzles in a variable mapping do not match 2015-02-12 22:27:51 +01:00
shadowislord
629c007cd4 DDSLoader: fix loading 16-bit images (as exported by PVRTexTool) 2015-02-10 20:16:51 -05:00
shadowislord
809092c236 Allow application to be a resizable window.
Also allow buffer swapping to be disabled, e.g. for Oculus Rift.
2015-02-10 20:14:36 -05:00
shadowislord
1fc730c78a Add ThrottleOnLostFocus - a slightly less crappy version of PauseOnLostFocus 2015-02-10 20:12:38 -05:00
shadowislord
8ae04fd1fb PlaceholderAssets: when assets fail to load, try to make the error appear visually 2015-02-10 20:10:43 -05:00
Nehon
0ebb3acb16 Fixed an issue with the ShaderNodeGenerator that was missing some variable names in cases like that ',myVar,myVar.x' 2015-02-10 22:41:23 +01:00
shadowislord
4b079ea480 DesktopAssetManager: remove weird logging in loadTexture 2015-02-09 21:09:22 -05:00
shadowislord
253c3ac80d JmeSystem: print build info on initialization 2015-02-09 21:07:59 -05:00
shadowislord
eda5e983da context/renderer: let renderer print out graphics hardware info 2015-02-09 21:06:50 -05:00
shadowislord
bbbfdb851a GLRenderer: log texture formats as Level.FINE 2015-02-09 21:03:05 -05:00
Nehon
963c3d7e61 Fixed some typo in some comments in Material.java 2015-02-10 00:48:41 +01:00
Nehon
4cb007f3b3 Fixed issue exposed in this thread http://hub.jmonkeyengine.org/t/found-bug-in-jme-xmlexporter-vector3f-zero-abuse/31430
Thanks to AXELTOPOLINO
2015-02-10 00:48:12 +01:00
shadowislord
507b89fc46 Do not track JmeVersion as it is autogenerated 2015-02-08 19:41:08 -05:00
shadowislord
6f8fb84586 Update JmeVersion via build script 2015-02-08 19:33:41 -05:00
shadowislord
35737e1614 Add branch name to JmeVersion class 2015-02-08 19:32:43 -05:00
shadowislord
3cc0feced0 Put git hash and build date in JmeVersion class 2015-02-08 19:13:26 -05:00
shadowislord
bac0f81853 Fix scene graph update corruption due to earlier optimizations.
The update optimization will not visit child nodes unless the
parent has any refresh flags set. However if a "partial update"
occurs which only clears some of the flags (e.g. getWorldBound()),
then a situation could occur where a child node has refresh
flags set but not its parent, thus causing the aformentioned issue.
To allieviate this, we must always propagate the specific flag
required, regardless of whether or not the parent has some other
flags already set.
2015-02-08 18:16:35 -05:00
shadowislord
a4d06305d5 postprocessing target textures: always use nearest filtering
* There's almost never a good reason to use linear filtering for postprocess textures
 * If it is really required, it should be enabled explicitly
2015-02-07 19:12:38 -05:00
shadowislord
6350ac3aad GLRenderer: remove obsolete code, minor optimization 2015-02-07 19:11:32 -05:00
shadowislord
b3759d7147 GL tracer: When printing enum, use GL_ONE instead of GL_TRUE 2015-02-07 19:10:35 -05:00
Bebul
4569154d9f RenderShadow relict code clean up, no more static ShadowUtils.rootScene 2015-02-03 09:43:23 +01:00
shadowislord
d4e85382db Remove fixed pipeline technique from lighting shader 2015-02-01 20:06:09 -05:00
shadowislord
16e3e00507 Renderer Changes
* Add new "Limits" enum to hold maximums of various renderer capabilities such as texture size
 * Add support for seamless cubemap (enabled by default for mipmapped cubemaps)
 * Fix conflict when using GL tracing with GL debugging
2015-02-01 20:05:16 -05:00
shadowislord
9f3a145dd7 Renderer Changes
* Add new "Limits" enum to hold maximums of various renderer capabilities such as texture size
 * Add support for seamless cubemap (enabled by default for mipmapped cubemaps)
 * Fix conflict when using GL tracing with GL debugging
2015-02-01 20:03:42 -05:00
shadowislord
c212fab37a Deprecate TechniqueDef.isUsingShaders(). Do not use it anywhere in the engine. 2015-02-01 17:26:59 -05:00
shadowislord
a7517c17c0 Deprecate TechniqueDef.isUsingShaders(). Do not use it anywhere in the engine. 2015-02-01 17:22:12 -05:00
shadowislord
4db0acaca9 Image: Deprecate efficient data 2015-02-01 17:19:58 -05:00
shadowislord
8c2e9f687d Sky material: Don't render sky twice; cull back faces. Also disable useless depth writing. 2015-02-01 17:19:10 -05:00