Commit Graph

409 Commits

Author SHA1 Message Date
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
Juan Linietsky efe9a6ff5a Fixed unnecesary structure copying in bugfix. 2017-10-20 16:13:48 -03:00
Hiroshi Ogawa e7a370e170 Fix depth draw alpha prepass for shadow 2017-10-19 14:28:44 +09:00
Hiroshi Ogawa 7ee7dec5a2 Fix directional light specular 2017-10-17 15:35:22 +09: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
Gilles Roudiere 45c878e380 Merge pull request #11958 from hi-ogawa/fix-shadow-map-front-face
Fix front face definition
2017-10-11 11:02:43 +02:00
Andreas Haas dda64a3de6 Merge pull request #11959 from hi-ogawa/fix-shadow-atlas-invalidation
Track LightInstance::shadow_atlases so that it will be freed properly
2017-10-10 20:57:09 +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 1967972f6e Track LightInstance::shadow_atlases so that it will be freed properly 2017-10-09 09:51:10 +09:00
Hiroshi Ogawa 2c966493c5 Fix front face definition 2017-10-09 09:18:32 +09:00
Hiroshi Ogawa 8cf5f615f5 Fix type error in subsurface scattering shader code 2017-10-04 19:47:45 +09:00
Juan Linietsky b12455cde8 Avoid failed viewport when size is too smal, fixes #9891 2017-10-03 17:36:14 -03: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
Leon Krause 36298186f4 Merge pull request #11774 from ISylvox/fix-msvc-build
Fixed MSVC build issue introduced by c864b78
2017-10-02 17:06:21 +02:00
Indah Sylvia a20ddfdb63 Fixed MSVC build issue introduced by commit c864b782c0 2017-10-02 19:10:07 +07: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
Bastiaan Olij cf56711a7e near and far are reserved for near and far pointers in MSVR 2017-09-30 10:43:34 +10: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 d3ea92257d -Fixed redraw always on 3D viewprot bug
-Changed manipulation inertia default values. Do not touch them again or I'll cut your fingers and eat them.
2017-09-23 17:28:28 -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
Wilson E. Alvarez 072e379ffe Renamed function arguments to keep them consistent between declaration and implementation 2017-09-14 13:49:15 -04:00
Rémi Verschelde e73e00d369 Style: Apply clang-format to @reduz's changes
[ci skip]
2017-09-13 09:13:34 +02:00
Rémi Verschelde 8b76199b4b Merge pull request #10897 from themindoverall/fix_box_select
Fix draw_rect when width or height < 0
2017-09-12 15:36:23 +02:00
Juan Linietsky 1c5376ae59 Many fixes to visual script, changed virtuals override for a proper selector. 2017-09-12 07:58:54 -03:00
Rémi Verschelde aabbd00284 Merge pull request #10908 from hpvb/fix-unused-variables
Fix unused variable warnings
2017-09-12 12:55:53 +02:00
Hein-Pieter van Braam b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Hein-Pieter van Braam 67a706fc1b Fix various assorted warnings
Fix various warnings that don't have enough instances to merit
individual commits. Also fixes a potential bug in audio_server.cpp.
2017-09-08 14:57:48 +02:00
Juan Linietsky 5ca3af3371 Ability to use a sky for reflection together with a background color. 2017-09-07 20:45:37 -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 8047127bc6 Force redraw when HDR auto exposure is enable in all frames, fixes #10784 2017-09-06 23:02:06 -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 7eb8760477 Added support for for, break and continue. Closes #10560, closes #10661 2017-09-05 15:25:34 -03:00
Rémi Verschelde 54e81c7955 Merge pull request #10990 from MednauN/unshaded-fix
Fix unshaded materials render
2017-09-05 15:51:35 +02:00
Evgeny Zuev 094237eca0 Fix unshaded materials render 2017-09-05 12:19:15 +07:00
Juan Linietsky 2802dced84 Automatically redraw when shaders using TIME are visible, fixes #10554 2017-09-05 00:30:39 -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
Chris Serino 3d6ccda188 Fix draw_rect when width or height < 0. Fixes #10849 2017-09-02 11:58:04 -05:00
Rémi Verschelde 8e75e7311b Merge pull request #10858 from letheed/add-shadow_filter-variant
add shadow_filter variant PCF7
2017-09-02 12:13:01 +02:00
Hein-Pieter van Braam 9c63ab99f0 Fix use of unitialized variables
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Rémi Verschelde dac150108a Merge pull request #10846 from hpvb/fix-sign-compare
Fix signed and unsigned comparisons
2017-09-01 21:52:55 +02:00
Juan Linietsky 6fa6149517 Fix some argument ordering, closes #10010 2017-09-01 15:01:17 -03:00
Juan Linietsky 8f30c52a37 Removed ontop property, added a material rendering priority system. Fixes #9935, closes #10135 2017-09-01 13:01:08 -03:00
Poommetee Ketson ed606ded52 Fix files header 2017-09-01 21:07:55 +07:00
letheed 3a188015be add shadow_filter variant PCF7 2017-09-01 15:01:24 +02:00
Hein-Pieter van Braam f9467ec1ea Fix signed and unsigned comparisons
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Juan Linietsky 51066fcde7 Merge pull request #10305 from H4kor/gles3
Fixes a bug in multimesh_instance_get_color
2017-08-31 08:44:22 -03: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 a1d7c496b9 Improved default directional shadow params, added bias split scale, closes #9828 2017-08-30 08:08:44 -03:00
Juan Linietsky 06d7e36898 Changed bools to uint32_t as this may be a compiler bug.. 2017-08-29 15:09:59 -03: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
Rémi Verschelde 7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Wilson E. Alvarez 7a07895920 Added/Fixed null pointer checks 2017-08-26 16:58:47 -04:00
Juan Linietsky 1894157c9f -Massive clean up to gizmos
-Make sure handles are always visible (on top)
-Fixed instanced scene selection (should work properly now)
-Added interpolated camera
-Customizable gizmo colors in editor settings
2017-08-26 00:47:28 -03: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
Juan Linietsky e54c4028ef Invalid materials or shaders will now interrupt the next chain in materials, closes #9570 2017-08-22 11:23:40 -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
Juan Linietsky 0bdbe370bf Implemented missing opaque prepass render mode, fixes #9452 2017-08-20 21:26:15 -03:00
Juan Linietsky 831e21e89b Properly initialize color hinted vec4 uniforms to 0,0,0,1 fixes #9354 2017-08-20 12:35:43 -03:00
Juan Linietsky 7e5890d23d -Fix all shadow and culling related issues, fixes #9330 2017-08-19 20:07:21 -03:00
Juan Linietsky 8fc6bb8f77 Added polygon antialiasing, but it does not work on nvidia. Will have to try something else.. 2017-08-19 13:14:38 -03:00
Rémi Verschelde 1a92906b68 Merge pull request #10406 from marcelofg55/closest_power_of_2
Add closest_power_of_2 func and implement mix_rate/latency on OS X
2017-08-18 08:12:56 +02:00
Marcelo Fernandez eab850524e Add closest_power_of_2 func and implement mix_rate/latency on OS X 2017-08-17 19:51:13 -03:00
Juan Linietsky 3a4ff3402d Oops, fixed wrong color masking problem. Closes #10149 2017-08-17 18:33:59 -03:00
Bojidar Marinov 995fca44b2
Fix particles emitting when emitting is set to false in scene
Caused by #10297 calling particles_restart() on the same frame as the one set_emitting(false) is called. The rasterizer would wait a frame, and then set emitting back to true.
2017-08-16 23:38:36 +03:00
TwistedTwigleg 00f6c85928 Synchronize parameter names in definition and declaration
Fixes #10244.
2017-08-16 17:22:23 +02:00
Fabio Alessandrelli 2d48f4ecf1 Use precision for samples only when #version 300 es
Fix #10332
2017-08-16 15:04:21 +02:00
Niko Abeler 5d2b059d46 fixed multimesh_instance_get_color 2017-08-12 16:17:53 +02: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 144226af51 sorry, leftover bug fixed 2017-08-08 08:31:34 -03:00
Juan Linietsky 78177483b5 -Made visual server time affected by global time scale, closes #5583
-Restored time rollover in visual server
2017-08-08 08:25:35 -03:00
Juan Linietsky 539fbad919 Restored black bars and custom images instead of black bars, closes #1571 2017-08-07 18:09:13 -03:00
Thomas Herzog 5f48c3cc07 Merge pull request #10055 from henkz1/immediate
Fix ImmediateGeometry
2017-08-07 23:09:01 +02:00
bruvzg 839cb018b2 Re-revert #378b1e6 for s3tc 2017-08-07 14:59:14 +03:00
bruvzg 20c90186be Revert #378b1e6 for s3tc 2017-08-07 12:35:54 +03:00
Juan Linietsky 378b1e6cf0 RGTC and S3TC are now always enabled on desktop, given the spect dictates they should be. Fixes #9267, Fixes #9939 2017-08-06 22:22:42 -03:00
Juan Linietsky 2ea64d2dc1 Use vertex distance instead of z, fixes #9108 2017-08-06 21:57:40 -03:00
Henrik Andersson ca497df2d3 Fix rendering of ImmediateGeometry with UVs
When using set_uv or any attrib except vertex, the geometry broke.
2017-08-03 05:06:06 +02:00
Henrik Andersson fdc421836f Make it possible to render ImmediateGeometry
Geometry for ImmediateGeometry was never added inside _fill_render_list.
2017-08-03 04:04:11 +02:00
Indah Sylvia 690ceeb17a remove meaningless print line from editor console 2017-08-02 13:27:01 +07:00
Juan Linietsky b276d92c8a Few small GI Probe fixes 2017-07-29 00:04:29 -03:00
bruvzg 1a03cd537f Add missing max. number of samples (MSAA) check 2017-07-27 17:56:43 +03:00
Poommetee Ketson 0154098531 Fix various property not found errors 2017-07-26 20:03:13 +07:00
Juan Linietsky f5277e347d Fixes to glow and auto exposure, closes #9797, closes #9106 2017-07-26 00:40:32 -03:00
Juan Linietsky e15a0c5243 Merge pull request #9712 from BastiaanOlij/fix_checking_framebuffer
add missing framebuffer check
2017-07-24 18:37:14 -03:00
Evgeny Zuev 4ed6e4a70e Fix switching SRGB extension happen before binding of texture
Previously, texture parameter `_TEXTURE_SRGB_DECODE_EXT` was changed
before the call of `glBindTexture`, which caused modification of previously
bound texture instead of desired one. Now it's changed after `glBindTexture`.
2017-07-24 18:25:55 +07:00
Rémi Verschelde 38c471bef6 Merge pull request #9765 from Noshyaar/pr-clang
Clang-formatting *.cpp and *.h (some files excluded)
2017-07-23 13:16:48 +02:00
Juan Linietsky 772485cdb3 Several changes to better run in mobile. 2017-07-22 14:08:17 -03:00
Poommetee Ketson c7c65ca6ba Clang-formatting *.cpp and *.h (some files excluded) 2017-07-22 18:14:08 +07:00
Juan Linietsky 25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
BastiaanOlij 8513bbdb8b add missing framebuffer check 2017-07-20 00:04:19 +10:00
Juan Linietsky bbada82f80 -Reorganized all properties of project settings (Sorry, Again).
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -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
Juan Linietsky 2e73be99d8 Lots of work on Audio & Physics engine:
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -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