7004 Commits

Author SHA1 Message Date
Paul Speed
5584c93d4a
Merge pull request #1282 from stephengold/master
re-assign Simsilica LLC copyrights with Paul's permission (issue #1001)
2020-02-07 17:09:12 -05:00
MeFisto94
8219d7fc02
Add two convenience flags to AppSettings: GraphicsTrace and GraphicsTiming. (#1279) 2020-02-03 17:56:36 -08:00
Stephen Gold
dde0906963 re-assign Simsilica LLC copyrights with Paul's permission (issue #1001) 2020-02-02 23:27:43 -08:00
Github Actions
e3b44db4aa [skip ci] update natives snapshot 2020-02-03 07:22:28 +00:00
Riccardo Balbo
31476679be Fix openal-soft dead link 2020-02-03 08:04:02 +01:00
Riccardo Balbo
0244ab230b
Update link for stb_image.h 2020-02-03 07:54:38 +01:00
Stephen Gold
1a0b6ecac3
jme3-blender: remove TextureGeneratorWood and its dependencies (#1274) 2020-02-02 19:45:23 -08:00
MeFisto94
acbddc2763
Merge pull request #1252 from MeFisto94/add-opengl31-lwjgl
Fixes #1251 - Support OpenGL3.1 on LWJGL2 and LWJGL3
2020-02-01 14:29:51 +01:00
Github Actions
3c5dd5c168 [skip ci] update natives snapshot 2020-01-30 17:35:48 +00:00
Stephen Gold
0fd70b81c9
Add missing @Override annotations (#1270)
* jme3-core: add the missing @Override annotations

* jme3-desktop: add the missing @Override annotations

* jme3-bullet and jme3-jbullet: add the missing @Override annotations

* jme3-effects: add the missing @Override annotations

* jme3-terrain: add the missing @Override annotations

* jme3-examples: add the missing @Override annotations

* jme3-android: add the missing @Override annotations

* jme3-blender: add the missing @Override annotations

* jme3-ios: add the missing @Override annotations

* jme3-jogg and jme3-jogl: add the missing @Override annotations

* jme3-plugind: add the missing @Override annotations

* jme3-lwjgl and jme3-lwjgl3: add the missing @Override annotations

* jme3-networking: add the missing @Override annotations

* jme3-vr: add the missing @Override annotations
2020-01-30 09:16:47 -08:00
Toni Helenius
427ae0a28b
Added Override annotations, finals, some cleanup and better null checks (#1271)
* Added Override annotations, finals, some cleanup and better null checks

* More general null check

* Follow naming conventions
2020-01-29 11:05:12 -08:00
Ali-RS
2023440acf
Removed extra PostShadow Technique from PBRLighting.j3md (#1273) 2020-01-29 01:31:22 -08:00
Toni Helenius
867e46190e Issue 801 (#1269)
* Test case for issue #801

* Reset the context with the initial values
2020-01-28 10:35:17 -08:00
MeFisto94
eee37022f2 Fixes #1241 - Add a convenient Graphics Debug Option for the AppSettings (#1256) 2020-01-27 10:52:36 -08:00
MeFisto94
124ad35677 Fixes #1249 - Don't hang up when destroy is called multiple times (#1250) 2020-01-27 00:03:25 -08:00
Ryan McDonough
233bc6f0da PreShadow & PostShadow Support for PBRLighting.j3md (#1265)
* Update PBRLighting.j3md

* Create PreShadowPBR.frag

* Create PostShadowPBR.frag
2020-01-27 10:12:52 +03:30
Toni Helenius
ffd9cfcf25 Upgrade Gradle 4.10 -> 5.6.4 (#1238)
* Upgrade Gradle 4.10 -> 5.6.4

* Use Gradle wrapper
2020-01-23 23:17:42 -08:00
Paul Speed
81f9b9d92a
Merge pull request #1262 from MeFisto94/fix-terrain-picker
Fixes #1261 - Clone the Terrain Picker, so that loading a terrain from file still works (after cloning, the picker would have the wrong terrain quad instance)
2020-01-18 11:53:26 -05:00
MeFisto94
9b29e05968 Fixes #1261 - Clone the Terrain Picker, so that loading a terrain from file still works (after cloning, the picker would have the wrong terrain quad instance) 2020-01-18 10:53:58 +01:00
MeFisto94
933b0912e6
Merge pull request #1255 from MeFisto94/fix-bullet-natives
Fixes Bullet-Native Artifacts not containing natives when not building from cpp source and not using the build target.
2020-01-13 15:56:48 +01:00
MeFisto94
ec491575be Fixes Bullet-Native Artifacts not containing natives when not building from cpp source and not using the build target. 2020-01-12 16:55:06 +01:00
MeFisto94
04e7bed5e7 Fixes #1251 - Support OpenGL3.1 on LWJGL2 and LWJGL3 2020-01-12 15:22:26 +01:00
Stephen Gold
77c521fefa
README.md: add pixelapp's Leap to list of games 2020-01-11 11:44:00 -08:00
Stephen Gold
bc64238635 TestPBRLighting: fpp.setNumSamples() to facilitate study of issue #1246 2020-01-10 02:38:49 -08:00
Stephen Gold
3f59008566
README.md: add Nine Circles of Hell 2020-01-02 08:43:55 -08:00
Riccardo Balbo
b059c7c0dd
Fix #1236 non-lvalue cannot be out parameter 2019-12-30 18:41:54 +01:00
joliver82
68fb1afe5d GLRenderer.modifyTexture on GLES fix (#1235)
* Update GLImageFormats.java

* First implementation to solve the glTexSubImage issue

* Setting proper format to the image

* Removed the Image.convertToFormat method and its usage from GLRenderer.modifyTexture. Added a warning instead for the potential failing cases
Fixing the issue in JmeBatchRenderBackend.loadImage transforming it to RGBA8 if required
2019-12-22 21:23:31 -08:00
Paul Speed
b2ae269ede Updating the version.gradle to fix an issue with auto-versioning on the
master branch. (On master we want to default to the gradle.properties
version and not the latest tag for non-specific-commit tags.)
Updated gradle.properties to set master to be 3.4.0 for further development.
2019-12-21 21:55:47 -05:00
Paul Speed
5db3ac4fac Refactored how versions are auto-built to provide more normal versions
when building locally.
Normal auto-detected versions will be based on the base version parsed
from the most recent tag on the branch with a -SNAPSHOT appended.  If
the current commit is the tagged commit then it is used directly to
preserve backwards compatibility... but really that should be a CI
only option for most use-cases.
A new includeBranchInVersion option was added to allow the old behavior
of including the branch name in a munged version string for those
wanting to keep their experimental branch builds separate from their
normal master/version-branch builds.
2019-12-21 08:37:21 -05:00
Riccardo Balbo
124ef031d4
Remove "v" from version tag to maintain consistency with old releases 2019-12-17 14:30:42 +01:00
Stephen Gold
cdcf0512d9
com.jme3.scene.shape.Line: protect the no-argument constructor (#1234) 2019-12-14 21:12:00 -08:00
Stephen Gold
6b7dd5b325
AnimControl: correct javadoc for the no-arg constructor (#1233) 2019-12-11 23:43:05 -08:00
Stephen Gold
8d9d091576
Mesh: avoid NPE in getMorphTargets() when there are no targets (#1231) 2019-12-09 07:39:30 -08:00
Stephen Gold
98f6d326e1
re-publicize InstancedGeometry no-arg constructor, correct erroneous javadoc (#1230)
* re-publicize 3 no-arg constructors, correct/remove erroneous javadoc

* re-protect 2 no-arg constructors, restore javadoc
2019-12-04 12:01:40 -08:00
Github Actions
584bb79392 [skip ci] update natives snapshot 2019-12-03 05:23:37 +00:00
Stephen Gold
75001d8abd
protect 52 no-arg constructors in the jme3-bullet/jme3-jbullet libraries (#1229) 2019-12-02 21:01:11 -08:00
Stephen Gold
9d2d393fc3
protect 47 no-arg constructors in the jme3-core library (#1228) 2019-12-01 14:35:52 -08:00
Paul Speed
c73fd99dd6 Fixed the null child check to throw IllegalArgumentException instead of NullPointerException
because user code should never throw NullPointerException.
Also made trying to add a child to itself an error instead of a no-op.  Attempting
to do something like guiNode.attachChild(guiNode) will now throw an IllegalArgumentException.
2019-11-28 15:56:15 -05:00
Paul Speed
c23f28b51c Modified Line to keep its own start/end instances. This is less of a surprise if
a user later chooses to call updatePoints() after having created the line with
JME constants... since updatePoints() would actually call set() instead of just
replacing the references.  The constructor and updatePoints() should match and I chose
to err on the side of caution and make them both operate on local instances.
2019-11-26 04:08:16 -05:00
Paul Speed
45b1908906 Added an app state that will verify some of the JME constants (easy to expand later)
to see if they've changed in the current frame.  SimpleApplication will configure
this by default to use asserts but the application is free to change it to throw
regular exceptions or just log the error as desired.
2019-11-26 03:34:55 -05:00
Paul Speed
37bb494709 Fixing the default versioning to be compatible with continued development.
-SNAPSHOT releases should be based on real version numbers and not partial
prefixes or it makes it harder to continuing development on the branch.
2019-11-26 02:12:13 -05:00
joliver82
30df2f1b87 Android morph fix (#1221)
* Fixed MorphAnim.glsllib to compile on android and avoid enabling GL_VERTEX_PROGRAM_POINT_SIZE in android as it's not supported
2019-11-24 09:20:09 +03:30
Matthew Universe
48f28974f9 Closes #1210 Quaternion.lookAt now has a return value (#1223) 2019-11-23 10:43:00 -08:00
Riccardo Balbo
b07a11c9d4 Improve support for subimage copying. Allow to copy a part of an image to a texture2D. 2019-11-20 11:02:20 +01:00
joliver82
d935347bde Android buffer allocator implementation (#1214)
* Implemented basic android buffer allocator for newer wrapped buffer classes to be used instead of the default ReflectionAllocator
2019-11-19 08:39:43 +03:30
Riccardo Balbo
816ab99ac5 Fix version naming. Use version-branch-SNAPSHOT for local builds, add custom version name property. 2019-11-17 14:15:42 +01:00
Github Actions
e304c5bb6d [skip ci] update natives snapshot 2019-11-17 12:33:52 +00:00
Riccardo Balbo
128e079a22 Update MacOS build: removed 32 bit support (since deprecated by apple). Update bullet library to the current master branch (needed for compatibility patch with recent clang). 2019-11-17 13:13:57 +01:00
joliver82
663c9776e8 Android openGL ES 3 support (#1147)
* Update GLImageFormats.java

* Added basic support for openGL ES 3.0 and GLSL300 for android

Added instancing support for android which is core feature in GLES3.0

Added fix for shadows in android

* Fixed required types of GLES30.glDrawElementsInstanced

* Properly check GLES3 version and setting precision for shaders for all GLSL ES versions

* Added support for Opengl ES 3.1 and 3.2 and their shader versions
Added proper checkings for new OpenGL ES versions
Fixed some issues with shadow rendering in GLES 3.0 or better (strict type checking, OpenGL ES specific extensions and percision definition)
Added GLSL320 and GLSL300 to Unshaded and Lighting materials

* Added depth texture 24bit for OpenGL ES

* Added geometry shaders and tessellation to GLES 3.1 as extension and GLES 3.2 as core
Modified test materials to use GLSL310

* Added FB blit for android GLES30

* Added GlSL300 or better to all effects not able to run in GLSL100
Mods on Shadows.glsllib to try to fix android shadow rendering
Fixed ssaoBlur.frag that was using a reserved word
Fixed precision type missmatch from vertex to fragment shader

* Partial multisample support
Framebuffer MRT support

* Temporarily removed texture multisampling (not being able to compile using GLES31)

* Updated android.jar to api28
Enabled multisampling

* Better checking for GLES3

* Removed insert precision for all shaders. This avoided some random precision missmatch error but created rendering issues

* Removed border check for GLES, caused filtered shadows not to render on GLES2.0 devices

Added texture compare mode for GLES3.0 and better to be able to use sampler2DShadow

Modified base materials (Lighting and Unshaded) to use only GLSL100 for post shadow pass

* Corrected texture comparison function that were incorrectly changed

* Added precision to samplers for GLESSL300 also

* Created a subclass of Glsl150ShaderGenerator (Glsl300ShaderGenerator) to support ShaderNodes in GLES SL30 and included it's usage in DesktopAssetManager. Nowadays just copied and overwrote the version string. Needs a full review
Added image format RGB16F to be used as texture format only in GLES30 (cannot be used as FB format)
Added GLSL300 and/or GLSL310 to different materials

* Cleaned GLSL300 generator
Fixed shadows glsl lib removing use of GL_EXT_gpu_shaders5

* Fixed usag of textureCubeLod in fragment shader of envMapping which is unsupported in GLES2.0
Modified PBRLighting frag to properly compile on GLES3

* Added GLSL300 and 310 to PostShadowFilter material definition

* Make post shadow filter use GLSL100 for GLSL300
Set highp as default precision to fix glitched shadows caused because not enough precision

* Changed water_normalmap.dds to uncompressed RGB8 because DXT1 is mostly unsupported in GLES

* Fixed GLES30 compilation issues in Water shaders and added GLSL300 to LightScattering material. ** Not fully tested

* Added RGB8 dds formatted FullskiesSunset to be used in any platform. Previous file moved to _dtx1.dds

* Set GL_TEXTURE_MAX_LEVEL in GLES30 contexts fixing issue with not fully mipmapped images and PBR rendering

* Fixed compilation of jme3-android-examples and upgraded sdk version to use

* Fixed Geometry Shader and Tessellation Shaders in testdata package to properly compile on GLES320

* Added non-compressed textures to be able to run all examples on android

Enabled texture arrays and 3d textures on opengl es 3.0. Peding to implement wrappers to android gl functions (currently getting NullPointerException)

* More GLES30 functions included to properly support texture arrays, 3d textures and multisampling matching jme core code

* Fixed 3D texture tests for GLES30
Fixed texture 3D and texture array example shader compilation on GLES30
Fixed some random missing precision compilation errors on GLES30

* Fixed TestTextureArray for GLES30

* Some multisample additions and removal of GLES3 multisampling enable caps
Added RGBA16F as valid format for GLES32 and using it by default in env camera instead of RGB16F. kept fall back to RGB8

* added float and half float formats for gles30
added rgb10a2 format for gles30
fixed usage of glTexImage2D
removed EnvironmentCamera fallback image format as it's useless now

* Added more image formats for GLES30
Fixed rgb8 if having Caps.Rgba8

* Enabled RadialBlur for gles30

* Fixed luminance texture formats for gles

* Added more depth image formats for gles3

* Enabled multisampling in gles3

* Added GLES30 functions to GLDebugES
Reverted TestTexture3D and TestTextureArray to use RGB8 format
Updated EnvMapping100.frag to use EXT_shader_texture_lod in gles sl 100 if available

* Removed all aditional not used compressed dds files
Removed also Pond and rock png files previously used in TestTextureArray

* Removed compressed water_normalmap_dxt1.dds

* Changed GLES_30 and AndroidGL implementing GL2 to avoid duplicated code checking GL2 vs GLES30

* Added aditional checking to avoid gles30 calls from gles20 only devices
2019-11-16 08:24:30 +03:30
Ali-RS
7ae1ff23af
Fixed a typo 2019-11-09 15:54:27 +03:30