85f1b7358a
Eevee: Planar Reflection: Remove distance approximation.
...
This commit separate the depth texture into another texture array.
This remove the need to output radial depth into alpha.
Unfortunatly it's difficult to recover position from the non linear depth buffer when applying reflection without adding a bunch of stuff.
This is in preparation of SSR planar reflections.
2017-07-24 15:36:37 +02:00
1d99d08d50
Eevee: SSR: Add two hit option.
...
This option add another raytrace per pixel, clearing some noise.
But multiplying the raytrace cost.
2017-07-24 15:36:37 +02:00
56ba01a561
Eevee: SSR: Fixed problem with un-initialized texture.
...
Also add another debug buffer and cleanup in effect_ssr_frag.glsl
2017-07-24 15:36:36 +02:00
c5f4342692
Eevee: SSR: Small fixes
...
- Encode normals for other opaque bsdf so they are not rejected by the normal facing test.
- Early out non reflective surfaces.
- Add small offset to raytrace to avoid self intersection.
- Fix fallback probes not appearing.
2017-07-24 15:36:22 +02:00
e5dae98999
Eevee: SSR: Add View Facing fadeout.
...
Also make hit boolean depends on hit coord not on pdf.
2017-07-24 15:28:27 +02:00
d2462e3d26
Eevee: SSR: Add fullscreen raytrace option and Screen border factor.
2017-07-24 15:28:27 +02:00
9906ef06b1
Eevee: SSR: Use noise to dither the stride banding.
2017-07-24 15:28:27 +02:00
a3732412ad
Eevee: SSR: Add stride and thickness parameters.
...
Also polished the raytracing algorithm.
2017-07-24 15:28:27 +02:00
18aa6cf1cc
Eevee: SSR: Add fullscreen raytrace.
2017-07-24 15:28:27 +02:00
e0c1323737
Eevee: HiZ buffer: Split into two 24bit depth buffer
...
This way we don't have float precision issue we had before and we save some bandwidth.
2017-07-24 15:28:27 +02:00
a2932078ec
Eevee: SSR: Add firefly filter and refine noise reduction.
...
Push to 9 resolve sample.
Add an normalization as an option since it gives harsh limits.
2017-07-24 15:28:27 +02:00
b576d06050
Eevee: Codestyle.
2017-07-24 15:28:27 +02:00
f1bf9d6bfb
Eevee: SSR: Add mipmap filtering and bias to reduce noise.
...
Also fix the roughness factors.
2017-07-24 15:28:27 +02:00
babef873fc
Eevee: SSR: Don't block the ray if tracing behind object.
...
This requires to check for backface after a hit.
2017-07-24 15:28:27 +02:00
72a4778391
Eevee: SSR: Add per pixel resolve of multiple rays.
2017-07-24 15:28:27 +02:00
b1a8803c24
Eevee: SSR: Add roughness random rays.
2017-07-24 15:28:27 +02:00
7938848b63
Eevee: SSR: Add double buffer so we can read previous frame color.
...
Also add simple reprojection and screen fade to the SSR resolve pass.
2017-07-24 15:28:27 +02:00
14bedf80cd
Eevee: SSR: Make raymarch step bigger.
2017-07-24 15:28:27 +02:00
ebc2833ca1
Eevee: Fix Shader compilation.
2017-07-24 15:28:27 +02:00
3be8ab881e
Eevee: SSR: Add simple raytracing.
...
Still imprecise.
2017-07-24 15:28:27 +02:00
19323a0ff5
Eevee: Fix clip/hashed alpha prepass/shadow crash.
2017-07-24 15:28:27 +02:00
1d00a66f5d
Eevee: SSR: Encode Normal in buffer and add cubemap fallback.
...
Normals can point away from the camera so we cannot just put XY in the buffer and reconstruct Z later as we would not know the sign of Z.
2017-07-24 15:28:27 +02:00
2a84331f02
Eevee: SSR: Output ssr datas to buffers.
...
Output in 2 buffers Normals, Specular Color and roughness.
This way we can raytrace in a defered fashion and blend the exact contribution of the specular lobe on top of the opaque pass.
2017-07-24 15:28:27 +02:00
04f8e1b21c
Eevee: Ssr: Add ssr id to glossy nodes.
...
An id is given to each glossy node in order to determine which specular lobe is using ssr.
2017-07-24 15:28:27 +02:00
Dalai Felinto
8dadeab47f
Fix shadow geometry shader
2017-07-17 14:28:17 +02:00
886ea37572
Fix T51979: Eevee: Bloom artifacts w/ zero area faces
2017-07-14 15:27:08 +10:00
6f66498c10
Revert "Eevee: Fix the NaN pixel issue."
...
This reverts commit d02711ed88 .
2017-07-14 14:45:18 +10:00
ec9330d206
Eevee: Fix default closure to match cycles.
2017-07-11 12:39:35 +02:00
91d324b3dc
Eevee: Transparency: Add support for Clip and Stochastic shadows.
2017-07-11 12:39:35 +02:00
d35c24f87b
Eevee: Transparency: Add support for blend ADD and MULTIPLY.
...
This introduces a new transparency pass.
It bypass the radial distance encoding in alpha for the transparent shaders.
2017-07-11 12:39:35 +02:00
05bef13b53
Eevee: Add support for Alpha clip and Hashed Alpha transparency.
...
Hashed Alpha transparency offers a noisy output but has the benefit of being correctly ordered. Noise can be attenuated with Multisampling / AntiAliasing.
2017-07-11 12:39:35 +02:00
d02711ed88
Eevee: Fix the NaN pixel issue.
...
It's cause by degenerate triangle having normals set to (0,0,0) which may not be compressed like it should.
This fix the problem in the final indirect lighting evaluation which might be costly.
2017-07-06 16:01:21 +02:00
e5462421c0
Eevee: Add support for common BSDFs.
...
Add Diffuse BSDF, and Glossy.
Also Use World normal instead of view normal as input.
2017-07-06 13:32:19 +02:00
f67c331bed
Eevee: Volumetrics: Avoid light leaking if last step is going trough geometry.
2017-07-06 00:28:13 +02:00
7b565c8a76
Eevee: Fix typo...
2017-07-05 19:57:02 +02:00
f6c739cbcd
Eevee: Volumetrics: Add Light contribution clamping.
...
This avoid too much variance at light centers and remove some noise.
2017-07-05 19:14:50 +02:00
031a4d5e22
Eevee: Volumetrics: Do not add anisotropy attribute, average it.
...
This makes no sense to add theses. In cycles, each volume node is computed separatly. In eevee only the combined parameters are evaluated and phase should be averaged in this case.
2017-07-05 18:31:43 +02:00
291b365e26
Eevee: Volumetrics: Add settings.
2017-07-05 18:28:48 +02:00
8b78a8d9bc
Eevee: Volumetrics: Add support for Position Coordinates.
...
This enables texturing of the noise via procedural or baked textures.
Note that it gets quickly really heavy.
2017-07-05 18:21:06 +02:00
d5448eac6c
Eevee: Volumetrics: Colored Transmittance support.
...
Render the transmittance in another color buffer and apply it separatelly.
It's a bit more slow because the upsample step needs to be done twice.
2017-07-05 18:20:19 +02:00
ed4e62997e
Eevee: Volumetrics: Match cycles scattering.
2017-07-05 18:03:36 +02:00
fc8f6e8f7a
Eevee: Fix Closure define.
2017-07-04 11:40:12 +02:00
b09052002c
Eevee: Add support for volumetrics in node tree.
...
Only volume scatter is implemented for now.
2017-07-03 22:08:33 +02:00
65b01014b9
Eevee: Initial implementation of Volumetrics.
2017-07-03 22:08:33 +02:00
9b66a320bf
Eevee: Fix luma calculation for lamp fresnel.
2017-07-03 22:08:33 +02:00
178c470c43
Eevee: Fix specular shadowing.
...
Compute luminance approximation instead of using green channel.
This is to match cycles principled bsdf.
2017-06-30 14:10:42 +02:00
7c72079381
Fix hair shading after Eevee shader refactor
2017-06-29 18:45:11 +02:00
790b15112b
Eevee: Fix T51922: Avoid division by 0.
...
Problem was caused by a division by 0 when rendering the probes. This patch make the visibility equal to 1.0 in this case.
2017-06-29 17:08:13 +02:00
95797336f5
Eevee: Prepare support for future Anisotropic shading.
2017-06-29 17:08:13 +02:00
e14fd19105
Eevee: Add Initial support for Principle BRDF.
...
Lots of things not working yet but it's comming.
2017-06-29 01:47:59 +02:00