33 Commits

Author SHA1 Message Date
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
Stephen Gold
dcb66977ba fix issue #1188 (TestNiftyExamples crash) 2019-09-20 13:33:32 -07:00
Stephen Gold
ba340cf13a add a test case for issue #99 (blendMode="multiply" in NiftyGUI) 2019-04-12 22:10:31 -07:00
Nehon
d6b05553b5 Ogre loader now loads animations and armature with the new system 2018-03-24 21:02:52 +01:00
Nehon
3ab8466075 Cleans up to reduce the size of test data 2018-03-12 23:01:09 +01:00
Nehon
12004217d1 Ao map now only attenuates indirect lighting in PBR shader 2018-01-04 16:53:48 +01:00
Nehon
e4b6bf82a2 Better PBR env map generation 2017-11-05 23:52:22 +01:00
Nehon
37e4d4d564 PBR: Applied band factor to sh coefficient.
Regenrerated the default probe in test data
better gloss / spec pipeline
2017-09-22 17:58:29 +02:00
Nehon
ea6c406979 Implemented bone animation. This is still in WIP state, currently working for the most simple cases. 2017-08-31 21:39:54 +02:00
Nehon
7951f5a987 Gltf loader can load mesh data and scene structure. 2017-08-31 21:39:54 +02:00
Nehon
0ec2263ae9 Merged master into PBR and migrated to TechniqueDefLogic 2016-04-05 21:51:26 +02:00
Kirill Vainer
52487041b4 fix crashes in several tests 2016-04-03 16:42:11 -04:00
Nehon
da9d38fee6 Updated the Tank maps, (SP2 generates smaller maps) also reverted last calibration changes as it was screwing up the real life models... 2016-03-26 18:44:00 +01:00
Nehon
754c256a66 Merge branch 'master' into PBRisComing 2016-03-25 23:50:19 +01:00
Nehon
07088452ff Fixed binormal calculation in Single pass lighting 2016-03-25 23:49:07 +01:00
Nehon
b218f4104e Forgot to commit the change in the Cornell box model 2016-03-17 18:05:53 +01:00
Nehon
26719e0047 Fixed sign post material and adjusted ambient lights for the spot lights tests 2016-03-14 20:30:42 +01:00
Nehon
c4c72f2969 Added PBR reference test case 2016-03-02 21:14:56 +01:00
Nehon
be58be75ef Merge branch 'master' into PBRisComing 2015-07-03 23:34:26 +02:00
Nehon
6d3377a2a8 Fixed Parallax without normal map in lighting.j3md 2015-07-03 23:33:19 +02:00
Nehon
719a683c2c Fixed Parallax for PBR lighting 2015-07-03 22:53:29 +02:00
Nehon
e1d0e06c59 Merge branch 'master' into PBRisComing
Conflicts:
	jme3-core/src/main/java/com/jme3/material/TechniqueDef.java
2015-04-11 16:01:01 +02:00
Nehon
81c995edc4 PBR shader and PBR test case with custom model 2015-04-11 15:37:05 +02:00
shadowislord
51952de16a jme3-testdata: fix issue #241 2015-03-27 22:21:14 -04:00
Nehon
8f129ec727 Added a test case for KTX loading 2015-03-25 23:29:55 +01:00
michael
a793c818d6 Renamed the shaders 2015-03-03 12:37:54 +01:00
michael
1cce72cd0a Allow modifing of the tess factor with keys a and y 2015-02-28 13:53:36 +01:00
michael
690dd7bf28 Added Geometry and Tessellation Shader Tests 2015-02-28 13:40:10 +01:00
michael
1ad8ff154c Fixed uploading of all shader stages 2015-02-23 22:39:46 +01:00
AlrikG
799d8d9ef2 - add test case for compressed dds array textures 2015-01-24 00:32:03 +01:00
shadowislord
a8c5e0f10d Fix crash in tests that use the tree model
- Since UseAlpha material parameter was removed from lighting
2014-12-05 22:01:22 -05:00
shadowislord
c98da31999 Make pond shader look less shiny 2014-09-13 16:41:20 -04:00
Normen Hansen
a16857c8f4 switch to gradle layout 2014-03-21 02:32:11 +01:00