clayjohn
c29ade28af
Multiply vertex lit DirectionalLights by albedo in GLES3
2021-02-18 20:56:45 -08:00
JFonS
b1ca82c43a
CPU lightmapper fixes.
...
- Fix Embree runtime when using MinGW (patch by @RandomShaper).
- Fix baking of lightmaps on GridMaps.
- Fix some GLSL errors.
- Fix overflow in the number of shader variants (GLES2).
2021-01-15 12:32:54 +01:00
JFonS
112b416056
Implement new CPU lightmapper
...
Completely re-write the lightmap generation code:
- Follow the general lightmapper code structure from 4.0.
- Use proper path tracing to compute the global illumination.
- Use atlassing to merge all lightmaps into a single texture (done by @RandomShaper)
- Use OpenImageDenoiser to improve the generated lightmaps.
- Take into account alpha transparency in material textures.
- Allow baking environment lighting.
- Add bicubic lightmap filtering.
There is some minor compatibility breakage in some properties and methods
in BakedLightmap, but lightmaps generated in previous engine versions
should work fine out of the box.
The scene importer has been changed to generate `.unwrap_cache` files
next to the imported scene files. These files *SHOULD* be added to any
version control system as they guarantee there won't be differences when
re-importing the scene from other OSes or engine versions.
This work started as a Google Summer of Code project; Was later funded by IMVU for a good amount of progress;
Was then finished and polished by me on my free time.
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2021-01-14 18:05:56 +01:00
Rémi Verschelde
4faaf6089a
Remove unused #if 0'ed code
2020-01-21 21:41:54 +01:00
Winston
c9fe11dec1
Use correct omni light attenuation
...
fixes godotengine/godot#34683
2019-12-29 17:22:34 +01:00
Rémi Verschelde
e21872f4b9
Merge pull request #34527 from MadEqua/fix-gles3-light-cutoff
...
Fix GLES3 light cutoff.
2019-12-21 23:40:15 +01:00
Bruno Lourenço
d47374385c
Fix GLES3 light cutoff.
2019-12-21 20:52:54 +00:00
Bruno Lourenço
d7f9d71be2
Fix contact shadow when light is outside of viewport.
2019-12-21 16:55:41 +00:00
clayjohn
676f647c74
Add a default POINT_SIZE
2019-12-10 23:08:20 -08:00
Rémi Verschelde
65e6efaa3b
Merge pull request #33836 from clayjohn/blinn-fix
...
Fix Specular Blinn function
2019-12-03 07:50:37 +01:00
PouleyKetchoupp
299b85c46f
Disable shadow map sampling when shadows are not used in GLES3
...
Fixes #20742
2019-11-29 06:21:17 +01:00
clayjohn
334d41d7cc
Fix Specular Blinn function
2019-11-22 22:03:26 -08:00
clayjohn
cd40154890
Fix issues with environment mapping
2019-11-19 22:30:48 -08:00
Rémi Verschelde
823c3def72
Fix copyright headers and style issues
2019-09-24 11:52:06 +02:00
Juan Linietsky
d81ddaf33e
Added skin support and simplified APIs to override bone position.
2019-09-18 19:46:32 -03:00
Rémi Verschelde
2b1c3878f9
Merge pull request #29031 from BastiaanOlij/alpha_shadow
...
Implement shadow to opacity
2019-05-23 13:37:54 +02:00
Bastiaan Olij
3ea778e66e
Implement shadow to opacity
2019-05-21 20:07:46 +10:00
clayjohn
cc2d862733
Scale environment lighting correctly in GLES3
2019-05-19 17:59:23 -07:00
clayjohn
55d11330b0
fix lighting bug introduced in clear color changes
2019-05-14 15:04:54 -07:00
clayjohn
5c252092e1
added radiance when using clear color and fixed brdf
2019-05-13 12:26:54 -07:00
Juan Linietsky
2f32a75d2e
Skeletons can now choose between using local or world coords for processing, fixes #26468
2019-03-03 12:24:00 -03:00
Hein-Pieter van Braam
a83e77fded
Explicitly use floating point numbers in the our shaders
...
We need to be explicit about using floating point numbers in our shaders
for compatibility with mobile GLES drivers.
2019-02-24 23:35:10 +00:00
Juan Linietsky
95e34967d8
Fix precision issue with skeletons, closes #26057 , closes #26062
2019-02-22 13:27:19 -03:00
Rémi Verschelde
769341e180
Cleanup after @reduz :)
...
Fixes #25172 .
2019-01-21 11:12:55 +01:00
Juan Linietsky
9ed34d4423
Use GLES2 approach to vertex shading in GLES3, which has been more developed. Fixes #21852
2019-01-14 20:41:12 -03:00
Bastiaan Olij
9f266cf7e5
Override GL_position
2018-12-29 23:56:50 +11:00
PouleyKetchoupp
ab7759dbd1
Fixed fragment shader compilation error on android (S0001: Cannot compare 'float' with 'int')
2018-12-21 20:31:10 +01:00
Rémi Verschelde
37e198c320
Merge pull request #23483 from clayjohn/fragment_camera_view
...
Make VIEW vector available in fragment shader
2018-12-11 20:44:41 +01:00
clayjohn
2042d6214e
make VIEW vector available in fragment
2018-12-11 09:44:38 -08:00
Rémi Verschelde
dd06f6ee70
Fix style issues and signature mismatch
2018-11-28 10:21:07 +01:00
Juan Linietsky
a397d3a46a
Avoid voxel cone trace from going full 180 degrees, fixes #20716
2018-11-23 08:42:35 -03:00
Juan Linietsky
78624ad22c
Ensure double sided normalmaps work, fixes #23760
2018-11-21 08:48:33 -03:00
Juan Linietsky
8aa38c9ad8
Fix shader bug likely introduced recently.
2018-11-16 14:30:34 -03:00
Juan Linietsky
bb9127a78b
Removed unnecesary normal multiplication (only culling was really needed), fixes #17776
2018-11-16 10:52:31 -03:00
Juan Linietsky
55f5f4757e
Merge pull request #23248 from dlasalle/fog
...
Add parameters for fog end depth and use alpha as density.
2018-11-14 10:24:55 -03:00
Dominique LaSalle
6eae6247e4
Add parameter for fog max depth and use alpha as density.
2018-11-13 17:19:11 -08:00
Rémi Verschelde
8849d3b47d
Merge pull request #22639 from tagcup/opt
...
Avoid some unnecessary calculations in scene.glsl.
2018-11-12 21:22:57 +01:00
Dominique LaSalle
f39d14dd61
Fix gles3 shader to actually multiply specular light by rev_amount for fog calculations.
2018-10-22 21:09:34 -07:00
Ferenc Arn
35ea827e83
Avoid some unnecessary calculations in scene.glsl.
2018-10-11 10:34:37 -04:00
Juan Linietsky
e0871b0f52
Baker fixes
2018-10-07 11:18:44 -03:00
tagcup
9f4e9fcb81
Optimized GGX G function for GLES2.
...
Also changed the mapping of anisotropy to match the common definition.
2018-09-30 16:33:50 -04:00
Ferenc Arn
e94f6aacee
Restore the Fresnel term in the BRDF.
...
Was uncommented in 65fd37c
, mostly likely by mistake since its important.
Also made a few corrections of specular -> specular_blob_intensity (gles2).
2018-09-30 12:17:48 -04:00
Juan Linietsky
0de8309b2c
Many fixes to GLES2 renderer, fixed compilation issues in GLES3 shaders.
2018-09-29 13:49:34 -03:00
Rémi Verschelde
60312915dc
Fix build after 65fd37c1
, using Math_PI
...
Also fix style in shaders.
2018-09-23 18:26:57 +02:00
Juan Linietsky
65fd37c149
-Rewrote GLES2 lighting and shadows and optimized state changes, did many optimizations, added vertex lighting.
...
-Did some fixes to GLES3 too
2018-09-23 12:14:50 -03:00
Rémi Verschelde
4226d56ca9
Style: Enable clang-format on GLSL shaders
...
As of clang-format 6.0.1, putting the `/* clang-format off */` hint
around our "invalid" `[vertex]` and `[shader]` statements isn't enough
to prevent a bogus indent of the next comments and first valid statement,
so we need to enclose that first valid statement in the unformatted chunk.
2018-08-27 07:34:14 +02:00
Rémi Verschelde
1b6d75a599
Style: Fix code formatting in GLES3 shaders
2018-08-24 13:42:18 +02:00
Nick Hahn
66eba18969
Fix handling of normals that approach 1
2018-08-12 12:45:43 +02:00
Hugo Locurcio
31c12f05c4
Tweak the default SpatialMaterial properties
...
Roughness is now set to 1 by default and albedo is now white,
even on meshes that do not have any materials defined.
This means there is no longer a visual difference between a
mesh with no materials defined and a mesh with a default
SpatialMaterial defined.
2018-08-07 17:04:30 +02:00
Juan Linietsky
4b549faaab
transmission was broken, fix was made. Also fixed treshold.
2018-07-22 14:04:11 -03:00