Juan Linietsky
7d0cabe9d3
Change skeleton processing to work on global coordinates, should help fix many import problems from Blender, GLTF2, etc.
2017-12-21 17:36:39 -03:00
Enzo Nocera
6c25eabbc5
Shader Language: Fix Vertex Lighting artifacts.
...
- When using Direction Lighting along with Vertex Lighting,
putting a SpatialMaterial Roughness to 1.0 causes artifacts to appear.
(#14552 )
Fixes #14552 .
2017-12-18 09:15:28 +01:00
Juan Linietsky
f3ad14224e
-Add lightmapper
...
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03:00
Rémi Verschelde
663f7e6a61
Fix usage of signed type in skeleton shader
...
The resulting primitive is drawn as GL_UNSIGNED_SHORT, so uvec4 should be used.
Fixes #12804 .
2017-12-10 13:58:36 +01:00
Juan Linietsky
8c78ccb027
After a lot of trial and error, i think rim lighting implementation is now perfect, closes #13986
2017-12-08 11:09:03 -03:00
Juan Linietsky
8717afbfe1
Added small bit of bias depending on lenght for contact shadows, fixes #12726
2017-12-07 16:19:35 -03:00
Juan Linietsky
e8494f7ab7
Fixed rim lighting glitch, closes #13340 , closes #13986
2017-12-06 14:30:49 -03:00
Rémi Verschelde
9b9fcb1977
Disable invariant gl_Position to workaround Mesa bug 100316
...
Fixes #13450 , though it would be worth reverting if/when the Mesa bug is fixed.
2017-12-03 15:05:39 +01:00
Juan Linietsky
0243803117
Properly take into consideration that VERTEX must be written to in opaque pre pass, does some speed up to scenes using triplanar.
2017-12-01 08:45:36 -03:00
Rémi Verschelde
4a1d1cbbb4
Merge pull request #13290 from Chaosus/projectionfix
...
Fix invalid transform when skip_vertex_transform used
2017-11-26 21:31:02 +01:00
Chaosus
284f8f6d91
Fixed invalid transform when skip_vertex_transform used
2017-11-26 22:02:40 +03:00
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
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
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
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
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
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
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
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
Juan Linietsky
281fb4e4fb
Added transmission shader parameter.
2017-09-03 10:30:37 -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
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
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
Juan Linietsky
294e912a84
Fade last cascade in directional shadow, closes #9779
2017-08-22 12:17:20 -03: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
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
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
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
Juan Linietsky
3ce046ee0c
-Fixed SCREEN_TEXTURE and other related 2D shader parameters.
...
-Fixded BackBuffercopy object
2017-06-26 22:58:46 -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
462d8ceb46
Fixed several bugs with directional light, and changed defaults to be more sensible.
2017-06-14 17:06:36 -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
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
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
74808ac4d9
New particle system, mostly working, some small features missing.
2017-04-06 23:49:27 -03: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
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
a47c78aed1
Screen space reflection effect
2016-11-29 19:55:12 -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
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