Commit Graph

354 Commits

Author SHA1 Message Date
volzhs b97e87480e Fix shader compilation fail on Android
Error message from logcat

**ERROR**: SceneShaderGLES3: Fragment Program Compilation Failed:
50:471: S0032: no default precision defined for parameter 'probe'
   At: drivers/gles3/shader_gles3.cpp:167:_display_error_with_code() - SceneShaderGLES3: Fragment Program Compilation Failed:
2017-11-27 01:15:39 +09:00
Juan Linietsky 9738ebcda0 -Fixed height fog (was broken)
-Make sure materials are named in OBJ importer, so they can be saved outside as resources.
2017-11-25 12:32:41 -03:00
Juan Linietsky 7eabbeb5af remove half_texpixel in canvas since no longer used 2017-11-12 08:29:28 -03:00
Nathan Warden 6adaf8f47a Fixed a bug where clamp_uv was clamping one pixel short, stretching the last pixels. 2017-11-11 07:28:48 -05:00
Ferenc Arn 6e68c86ba6 Add viewport to the other SceneData struct.
This was missed in #12288.
2017-10-30 20:48:33 -04:00
Juan Linietsky 4785e66eea
Merge pull request #12288 from tagcup/expose_viewport_size
Expose VIEWPORT_SIZE in shader language.
2017-10-30 19:32:21 -03:00
Ferenc Arn a0fc641f25 Expose VIEWPORT_SIZE in shader language.
Fixes #11710.
2017-10-26 15:00:28 -04:00
Rémi Verschelde abea816e54 Revert "Rename Schlick GGX to GGX." 2017-10-23 07:42:36 +02:00
Ferenc Arn fd166d6fda Partially undo #11807.
Specular light at zero roughness needs some discussion. Until we do that, this fixes #12309.
2017-10-22 16:18:54 -04:00
Juan Linietsky b4f0f59d9f Many fixes to SSAO, should be good now. 2017-10-22 13:52:48 -03:00
Rémi Verschelde d60b774924 Merge pull request #12297 from tagcup/clearcoat_fix
Don't add clearcoat BRDF to specular light as-is.
2017-10-22 13:18:24 +02:00
Ferenc Arn 06fcbe0092 Don't add clearcoat BRDF to specular light as-is.
BRDF needs to be multiplied with N.L, the incoming light and attenuation. Also specular_blob_intensity should affect clearcoat.
2017-10-21 20:25:17 -04:00
Ferenc Arn cb0bf1edea Rename Schlick GGX to GGX.
Schlick's approximation and GGX are orthogonal concepts.

Furthermore, it's usage so far has been inconsistent: we don't even use it with anisotropic SchlickGGX, and Burley (Disney) diffuse does use it while its name doesn't indicate it.

The use of Schlick's approximation in Burley and GGX is an implementation detail and doesn't need to be reflected to the namig.
2017-10-21 19:35:54 -04:00
Ferenc Arn 6890245321 Corrections to #11807.
Added missing metallic parameter, also fixed a missed a case where wrong roughness condition was used.
2017-10-21 13:40:14 -04:00
Juan Linietsky a2a4f9a62a Merge pull request #11807 from tagcup/roughness_metallic_limiting_cases
Fix the condition when specular light calculation is avoided (should …
2017-10-21 13:44:41 -03:00
Hiroshi Ogawa 59544c74fe Fix render mode specular schlick ggx 2017-10-14 19:32:13 +09:00
Rémi Verschelde 552384e737 Merge pull request #12048 from hi-ogawa/fix-viewport-vflip
Fix viewport vflip
2017-10-12 13:38:29 +02:00
Hiroshi Ogawa cb2e88ead6 Fix viewport vflip 2017-10-12 16:25:13 +09:00
Ferenc Arn 9324555998 Fix the condition when specular light calculation is avoided (should be roughness == 1).
Also avoid calculating diffuse light calculation when metallic == 1, and test against clearcoat's own parameter to check whether to do clearcoat.
2017-10-11 17:22:44 -04:00
Rémi Verschelde bac5de0782 Merge pull request #11966 from BastiaanOlij/stereo_sky
Fix issues when rendering panoramic sky in stereoscopic
2017-10-11 22:30:44 +02:00
Rémi Verschelde 37bc372194 Merge pull request #11818 from tagcup/anisotropic_ggx
Fix anisotropic GGX D function, and introduce and use anistropic GGX …
2017-10-11 22:20:24 +02:00
Bastiaan Olij 179f483782 Fix issues when rendering panoramic sky in stereoscopic 2017-10-10 22:51:37 +11:00
Ferenc Arn 12596cb5bc Fix anisotropic GGX D function, and introduce and use anistropic GGX G function.
Also fixed isotropic GGX G function with Schlick approximation, and added a commented out version without the approximation.
Added references.
2017-10-09 12:29:05 -04:00
Hiroshi Ogawa 8cf5f615f5 Fix type error in subsurface scattering shader code 2017-10-04 19:47:45 +09:00
Ferenc Arn f48b162a6b Various clean ups and cosmetic changes in scene.glsl.
Use self-documenting names for variables which are otherwise confusing. Also avoid recalculating certain terms.
2017-10-03 11:02:39 -04:00
Andreas Haas 1e9465096d Merge pull request #11700 from tagcup/clearcoat_fix
Fix clearcoat without Schlick-GGX specular.
2017-10-02 22:51:51 +02:00
Juan Linietsky 66987d6878 missing PI division on vertex shader 2017-10-02 09:09:32 -03:00
Juan Linietsky 1b358783ce Slight proposed fixes to PBR. 2017-10-01 21:51:11 -03:00
Juan Linietsky c864b782c0 Using advise from Matias, left the 0-1 range for lights, divisiom by PI, and multiplied lights by PI internally. 2017-10-01 20:33:38 -03:00
Juan Linietsky c9a925c4e0 Switched Burley/Lambert, and restored diffuse term to 0-1 range for compatibility. 2017-10-01 19:08:49 -03:00
Juan Linietsky 99a464ceb4 Merge pull request #11694 from tagcup/lambert_normalization
Ensure that Lambert is energy conserving.
2017-10-01 12:18:40 -03:00
Ferenc Arn ece18153c6 Add missing N.L factor to Burley's contribution to radiance. 2017-10-01 10:20:57 -04:00
Ferenc Arn dfaf071ae3 Fix environmental BRDF. 2017-09-30 20:28:30 -04:00
Juan Linietsky d4e20555e8 Ability to set a custom FOV makes it possible to use sky on orthogonal view. Closes #9186 2017-09-29 18:56:52 -03:00
Ferenc Arn 3e09b9b335 Fix clearcoat without Schlick-GGX specular.
Fixes #11698.
2017-09-29 10:59:05 -04:00
Ferenc Arn 33c600fedc Ensure that Lambert is energy conserving.
Also remove the diffuse_color factor in Oren-Nayar (which was already taken care of below, oops).
2017-09-29 09:47:06 -04:00
Gilles Roudiere 2c5fa0947d Merge pull request #11672 from tagcup/fix_oren_nayar
Fix Oren-Nayar diffuse.
2017-09-29 13:47:38 +02:00
Ferenc Arn 8cb67b03a9 Fix Oren-Nayar diffuse. 2017-09-28 19:26:01 -04:00
Indah Sylvia 392a94686c Fixed typo: 'texure' to 'texture' 2017-09-29 04:40:01 +07:00
Juan Linietsky 4f39ce32b9 Fixes to light shaders, should work now.. 2017-09-27 21:45:47 -03:00
Ferenc Arn ae78413bb1 Avoid pow in Burley diffuse. 2017-09-26 22:15:38 -04:00
Juan Linietsky 81c9cfdc1b Added light affect parameter to baked AO 2017-09-23 23:10:34 -03:00
Juan Linietsky fbabef6da3 Fixes to rim parameter in shader 2017-09-23 08:27:48 -03:00
Juan Linietsky bf371dcb32 Added proximity and distance fade to SpatialMaterial 2017-09-21 15:20:28 -03:00
Juan Linietsky 1c5376ae59 Many fixes to visual script, changed virtuals override for a proper selector. 2017-09-12 07:58:54 -03:00
Juan Linietsky c023a132d0 Fixed orthogonal projection in all effects and post processes 2017-09-07 20:16:33 -03:00
Juan Linietsky eedb39091a Several fixes to directional shadows, closes #10926
Added option to change directional light range mode, between optimized and stable. For Orthogonal, you might need to use optimized.
2017-09-07 18:00:47 -03:00
Juan Linietsky dd854768da -Fix folow surface in subsurface scattering, closes #10696
-Fixed filter kernels of subsurface scattering so quality settings make more sense
2017-09-06 21:45:02 -03:00
Juan Linietsky ddadc782ba Fix frame selection in 2D particles, closes #10668 2017-09-06 08:31:11 -03:00
Juan Linietsky e192c1a7d3 Fix directional vertex shaded light which was using normal instead of light color, closes #10608 2017-09-05 17:31:09 -03:00
Juan Linietsky e611ff5f01 Fix opaque pre pass, closes #10472 2017-09-04 20:27:45 -03:00
Henrik Andersson e0a19a77e5 Don't compare float to int 2017-09-04 22:21:55 +02:00
Juan Linietsky 281fb4e4fb Added transmission shader parameter. 2017-09-03 10:30:37 -03:00
letheed 3a188015be add shadow_filter variant PCF7 2017-09-01 15:01:24 +02:00
Rémi Verschelde 82208c1e8b Merge pull request #10417 from bojidar-bg/x-fix-tilemap-transpose
Implement texture UV transpose in the gles3 renderer
2017-08-31 13:17:39 +02:00
Rémi Verschelde f1e3dec442 Merge pull request #10624 from letheed/master
Fix shadow filter pcf5 implemented as pcf7
2017-08-31 11:01:57 +02:00
Juan Linietsky e8b05ca996 -Fixed screen edge SSAO filter, fixes #9678
-Raised the SSAO limits, making the effect a lot more useful
-Still pending to enable tresholding to avoid some hollow places
2017-08-29 11:46:02 -03:00
Juan Linietsky 089cf8176e removed DISCARD built in variable, replaced by actual discard GLSL instruction, fixes #9677 2017-08-29 10:15:49 -03:00
Bojidar Marinov 92a42668f2
Implement texture UV transpose in the gles3 renderer
Now tilemap rotations work again \o/
2017-08-29 14:51:35 +03:00
Rémi Verschelde 6ef7783abb Merge pull request #10662 from hoelzl/python3-v3
Make build scripts Python 3 compatible
2017-08-28 00:05:15 +02:00
Juan Linietsky d23f323cde -Moved script run to editor, removed from project
-fixed to code completion
-fix shader crash bug reported by tagcup
2017-08-27 19:04:19 -03:00
Matthias Hoelzl b6e1e47e3a Make build scripts Python3 compatible
- The Windows, UWP, Android (on Windows) and Linux builds are
  tested with Scons 3.0 alpha using Python 3.
- OSX and iOS should hopefully work but are not tested since
  I don't have a Mac.
- Builds using SCons 2.5 and Python 2 should not be impacted.
2017-08-27 23:05:39 +02:00
Juan Linietsky 90445aae67 Fixed opaque unshaded materials, they go through the regular opaque render list, closes #9917 2017-08-25 09:56:10 -03:00
letheed a5d765db4f fix shadow filter pcf5 implemented as pcf7 2017-08-25 02:34:28 +02:00
Gilles Roudiere 591a892c2e fix ssao issue with intel hd**** hardwares 2017-08-23 00:10:37 +02:00
Juan Linietsky 294e912a84 Fade last cascade in directional shadow, closes #9779 2017-08-22 12:17:20 -03:00
Rémi Verschelde 411f0755a8 Fix Reindhart tonemapping, invalid type in signature
Fixes #10533.
2017-08-22 08:06:54 +02:00
Juan Linietsky 00a26f512c Several fixes to subsurface scattering. Closes #9530 2017-08-21 21:38:01 -03:00
Fabio Alessandrelli 9b9a723c77 Some fixes for shaders and WebGL2
Add padding to UBO data to be multiple of 16 bytes
Add precision definition for samplers
Replace texture2D (deprecated) with texture in shaders
2017-08-11 23:26:24 +02:00
Juan Linietsky df573f5c3a -Restored Sprite3D to working function, fixes #2061, fixes #9738
-Restored an alpha scissor property in Material
2017-08-08 17:23:44 -03:00
Juan Linietsky 2ea64d2dc1 Use vertex distance instead of z, fixes #9108 2017-08-06 21:57:40 -03:00
Juan Linietsky b276d92c8a Few small GI Probe fixes 2017-07-29 00:04:29 -03:00
Juan Linietsky f5277e347d Fixes to glow and auto exposure, closes #9797, closes #9106 2017-07-26 00:40:32 -03:00
Juan Linietsky 772485cdb3 Several changes to better run in mobile. 2017-07-22 14:08:17 -03:00
Juan Linietsky 3da3a36034 Many fixes to improve GI Probe quality 2017-07-15 23:24:37 -03:00
Juan Linietsky 5dd7c3b6ab Fix to make voxel cone tracing work properly again 2017-07-15 20:02:56 -03:00
Juan Linietsky 741145febd -Fix for multiple reflection probes causing issues.
-Fix for positional sound corruption to avoid making people deaf.
2017-07-15 18:42:06 -03:00
Rémi Verschelde d23fc16b2d Merge pull request #9564 from Noshyaar/pr-threshold
Refactor 'treshold' to 'threshold'
2017-07-08 23:51:53 +02:00
Juan Linietsky e577c5b070 Some adjustments to toon material to make it more flexible
Ability to also disable specular
2017-07-08 14:01:56 -03:00
Juan Linietsky f4c8c552f9 Added triplanar mapping, toon mode, and more specular modes for materials. Added multipass support for materials. 2017-07-08 12:36:15 -03:00
Poommetee Ketson 2fd204c35e Refactor 'treshold' to 'threshold' 2017-07-08 22:24:56 +07:00
Juan Linietsky 84de71872f -Added triplanar mapping modes
-Some fixes to shader lang
2017-07-08 08:07:49 -03:00
Juan Linietsky 1a857c5149 Fixed bug regarding to strange black shapes appearing in ice from material tester demo 2017-07-05 22:36:13 -03:00
Juan Linietsky 12a8fedfe6 Some changes to dual paraboloid envmap generation, fixes somme bleeding 2017-07-05 19:39:45 -03:00
Juan Linietsky 7263137dba Implemented environment arrays for skybox reflection and roughness, quality increase is enormous. 2017-07-04 23:53:08 -03:00
Robert Hernandez ffe8f8ca21 Fixed NinePatches not working on HTML5 2017-06-28 19:17:59 -04:00
Juan Linietsky 3ce046ee0c -Fixed SCREEN_TEXTURE and other related 2D shader parameters.
-Fixded BackBuffercopy object
2017-06-26 22:58:46 -03:00
Poommetee Ketson e3998528e0 BuildSystem: generated files have .gen.extension 2017-06-25 07:55:01 +07:00
Juan Linietsky 0cac32910a -Restored support for Canvas BG mode on Environment
-Improved ease of use of WorldEnvironment (no longer extends Spatial)
-2D editor viewport can now work in HDR!
2017-06-24 08:58:27 -03:00
Juan Linietsky 8ef1c41a4e Small fixes required to get platformer to work.
Added back CanvasItemMaterial
2017-06-23 14:31:59 -03:00
Juan Linietsky f27d2a3355 -Moved NinePatch to shader, saves a ton of draw calls rendering UI
-Implemented missing stretch modes, now tile and tile fit work
2017-06-21 23:37:25 -03:00
Juan Linietsky 95560e02c5 2D GPU Particles working.. 2017-06-21 16:26:26 -03:00
Juan Linietsky 0288be1e76 Texture rect_region drawing now clamps UV to avoid bleeding. This avoids scenarios like single-texture tilemap tiles leaking pixels to the next tile when filter is enabled on it. 2017-06-18 22:55:02 -03:00
Juan Linietsky 5c6cac4e53 Add normalmap support for drawing in all low level primitives. Only added support in Sprite so far. 2017-06-17 23:27:42 -03:00
Juan Linietsky 2da3f48e5a -Fixed shader lang to not be able to get scalar from matrix (ie mat.x), to make it more GLSL compatible
-Fixed referencing of world_transform in fragment shader not working
-Fixed unsycn bug related to getting shader param list from the server
-Fixed getting all textures from shader properly, fixes #8353
2017-06-17 11:03:48 -03:00
Juan Linietsky 80929d36be TIME constant reverted to a single float, fixes #9123 2017-06-16 08:30:21 -03:00
Juan Linietsky 5d02b948a9 Cleaned up Screen Space Reflections, closes #8119 2017-06-16 08:30:21 -03:00
Juan Linietsky 29cfc365aa Fixes to SSR, WIP. 2017-06-16 08:30:21 -03:00
Juan Linietsky f8bd488457 Merge pull request #9109 from RandomShaper/optimize-2d-lighting
Add AT_LIGHT_PASS builtin to canvas shaders
2017-06-14 21:16:09 -03:00
Pedro J. Estébanez 93ffd9023f Add AT_LIGHT_PASS builtin to canvas shaders
This one allows for complex shaders paired with a simple lighting shader to skip code that would otherwise be pointlessly (and wastefully) run during the light pass.

Depending on your game (number of items and lights), this can yield some performance gain.
2017-06-15 02:03:15 +02:00
Juan Linietsky 462d8ceb46 Fixed several bugs with directional light, and changed defaults to be more sensible. 2017-06-14 17:06:36 -03:00
Juan Linietsky a8a1f2e2a8 -Fixed occluder rendering, closes #8560
-Ability to smooth out 2D shadow filters
2017-06-13 01:23:04 -03:00
Juan Linietsky 95c248e24f Remove default shadow bias of 0.1 for spot and omni light, fixes #8654 2017-06-13 00:07:05 -03:00
Juan Linietsky ea6cb22329 Merge pull request #8835 from ippan/particles_shader_index
add index to particles glsl
2017-06-12 23:33:41 -03:00
Juan Linietsky fc04e0b1f2 Fix bug breaking shader when skeleton+tangents were used, closes #8673 2017-06-12 19:54:35 -03:00
Juan Linietsky 612ab8fcdb -Restored multithread capability to VisualServer
-Restored resource previews!
2017-06-09 00:24:18 -03:00
Juan Linietsky 840ac8c018 Fog is complete! 2017-06-07 08:38:21 -03:00
Juan Linietsky 0fb99306ff -working SCREEN_TEXTURE, SCREEN_UV shader variables
-Added refraction support for default material
-Enabled BCS adjustments, as well as color correction.
2017-06-05 22:34:32 -03:00
Juan Linietsky 8126a0cb12 subsurface scattering is fixed and working again 2017-06-03 21:14:05 -03:00
Juan Linietsky 8a1097a224 many fixes to image loader, voxel cone tracing, etc. 2017-06-02 22:08:41 -03:00
Juan Linietsky e79d7149ea GI probes working back again 2017-06-01 22:38:07 -03:00
Juan Linietsky c03131fc9f Rework shading modes and change location of light shader 2017-06-01 18:56:02 -03:00
Juan Linietsky bd26fa7bf2 stuff got modified :( 2017-05-31 20:29:56 -03:00
Juan Linietsky a134f58fb3 rewritten PBR implementation to make it friendlier with Blender 2017-05-31 20:29:56 -03:00
Juan Linietsky 5567e898d1 Several fixes related to PBR and Environment 2017-05-30 08:56:19 -03:00
Juan Linietsky bf6380ee70 Removed skybox support, added panorama support. Skybox support may come back eventually, but hope not. 2017-05-25 14:00:43 -03:00
PanPan d9e3bbe17d add index to particles glsl 2017-05-19 23:43:25 +08:00
Dobbias 5404e10803 replaced incompatible keywords/function 2017-04-13 16:46:16 +02:00
Juan Linietsky 4286aef693 Particle system is complete. Rejoice! 2017-04-08 22:40:06 -03:00
Juan Linietsky 74808ac4d9 New particle system, mostly working, some small features missing. 2017-04-06 23:49:27 -03:00
volzhs e65b8b666c Fix failing to compile shader on Adreno GPU 2017-04-02 23:16:25 +09:00
Rémi Verschelde debeee56f7 Fix typos in source code using codespell
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Juan Linietsky 6d15e15732 converted skeletons from uniform to texture 2017-03-12 13:08:56 -03:00
Juan Linietsky ffcd954211 Fixes to webgl/opengl es 3.0 for compatibility with webgl2.0, still does not work though 2017-02-22 19:14:21 -03:00
Juan Linietsky 903a3aa5f0 a ton of bug fixes to the renderer 2017-02-16 08:55:43 -03:00
Juan Linietsky 07bbcf91f7 basic contact shadows implementation, will most likely need some polishing 2017-02-08 07:35:14 -03:00
Rémi Verschelde 93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky c2a217c350 WIP particle system
Ability to enable and change MSAA settings
Ability to change VCT quality
Ability to enable/disable HDR rendering
2017-01-01 22:16:52 -03:00
Juan Linietsky a62c99c4e4 Some fixes and clean ups 2016-12-31 10:53:29 -03:00
reduz f4a56e7782 begin work on new particle system 2016-12-30 08:35:54 -03:00
reduz 0d4abf2aa3 fixed a horrible bug on Windows AMD, scenes saved until now in this branch
are no longer valid :(
2016-12-24 16:23:30 -03:00
Juan Linietsky f9603d8236 can bake for omni and spotlight
store normal when baking
2016-12-22 10:00:15 -03:00
Juan Linietsky 37f558cd7b Some BRDF fixes 2016-12-21 14:22:17 -03:00
Juan Linietsky 075fde7f26 work in progress global illumination 2016-12-20 00:21:07 -03:00
Juan Linietsky 22a90e8f2a DOF blur, near and far fields.. 2016-12-10 01:13:20 -03:00
Juan Linietsky 18ebd22000 Multi stage glow with light bleeding from HDR 2016-12-08 09:48:38 -03:00
Juan Linietsky 8534ced22d Tonemapping and Auto Exposure support 2016-12-07 17:49:52 -03:00
Juan Linietsky a299c3ebf1 Support for SSAO 2016-12-04 12:45:30 -03:00
Juan Linietsky 27a46d78ec Subsurface scattering material param is now working! 2016-12-02 22:23:16 -03:00
Juan Linietsky 1652f876fd Add missing glsl file and remove generated .h files 2016-11-30 07:36:56 +01:00
Juan Linietsky a47c78aed1 Screen space reflection effect 2016-11-29 19:55:12 -03:00
Juan Linietsky a732708b9d Blend shapes using transform feedback (GPU) 2016-11-24 20:46:55 -03:00
Juan Linietsky 943d27f46d Instancing is working! (hooray) 2016-11-22 01:26:56 -03:00
Juan Linietsky 70d095d8f2 Skeletons are working now. 2016-11-21 19:03:39 -03:00
Juan Linietsky a2505542ff Huge amount of improvement in the material system. Materials should be
a lot more complete and usable now.
2016-11-20 22:49:53 -03:00
Juan Linietsky c39d2b3f42 working reflection probes!! 2016-11-19 13:23:37 -03:00
Juan Linietsky a7078a4be9 Done with lights and shadows (wonder if i'm missing something..) 2016-11-11 12:27:52 -03:00
Juan Linietsky cacf9ebb7f all light types and shadows are working, pending a lot of clean-up 2016-11-09 23:55:06 -03:00
Juan Linietsky d6567010bf -Many many fixes
-Gizmos work again
2016-10-29 20:48:09 -03:00
Juan Linietsky 53d8f2b1ec PBR more or less working, still working on bringing gizmos back 2016-10-27 11:50:26 -03:00
Juan Linietsky cb34b70df1 More scene work, can display a skybox 2016-10-21 07:27:13 -03:00
Juan Linietsky 4428115916 Everything returning to normal in 3D, still a long way to go
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
2016-10-19 11:14:41 -03:00
Juan Linietsky 1527cf8c0d 2D Shaders are working again using the new syntax, though all is buggy in general 2016-10-10 18:31:01 -03:00
Juan Linietsky 22d83bc9f6 Begining of GLES3 renderer:
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00