Age | Commit message (Collapse) | Author |
|
The bug was affecting the ability to correctly edit the expected SSS profile.
|
|
|
|
This does NOT do the SSS diffusion when rendering probe but at least you can see your object without SSS in reflections / bounce light.
|
|
This was caused by 93936b8643b9c4f77fe13d35b41ecaa246843dd8
From GL spec :
GL_INVALID_OPERATION is generated if mask contains GL_DEPTH_BUFFER_BIT or GL_STENCIL_BUFFER_BIT and the source and destination depth and stencil formats do not match.
So blitting framebuffer with depth or stencil require the SAME FORMAT.
|
|
Samples : pretty self explanatory.
Jitter Threshold : Reduce cache misses and improve performance (greatly) by lowering this value. This settings let user decide how many samples should be jittered (rotated) to reduce banding artifacts.
|
|
How to use:
- Enable subsurface scattering in the render options.
- Add Subsurface BSDF to your shader.
- Check "Screen Space Subsurface Scattering" in the material panel options.
This initial implementation has a few limitations:
- only supports gaussian SSS.
- Does not support principled shader.
- The radius parameters is baked down to a number of samples and then put into an UBO. This means the radius input socket cannot be used. You need to tweak the default vector directly.
- The "texture blur" is considered as always set to 1
|
|
|
|
|
|
|
|
probe rendering.
This was adding an unecessary high number of DRWCall per objects.
|
|
Was caused by a division by 0.
|
|
|
|
|
|
|
|
It's not needed for now.
|
|
|
|
|
|
This also:
- make sure to only compile the shader needed by the active effects.
- same thing for the shading groups.
- disable TAA if motion blur is active (avoid infinite refresh).
|
|
|
|
|
|
It should behave like cycles.
Even if not efficient at all, we still do the same create - draw - free process that was done in the old viewport to save vram (maybe not really the case now) and not care about simulation's GPU texture state sync.
|
|
This is quite basic as it only support boundbing boxes.
But the material can refine the volume shape in anyway the user like.
To overcome this limitation, a voxelisation should be done on the mesh (generating a SDF maybe?) and tested against every volumetric cell.
|
|
|
|
|
|
The system now uses several 3D textures in order to decouple every steps of the volumetric rendering.
See https://www.ea.com/frostbite/news/physically-based-unified-volumetric-rendering-in-frostbite for more details.
On the technical side, instead of using a compute shader to populate the 3D textures we use layered rendering with a geometry shader to render 1 fullscreen triangle per 3D texture slice.
|
|
This was caused by a not bound unused texture. Removing the texture usage fixes the problem.
|
|
There was noise correlation between the rotation random number and the radius random number used in the contact shadow algo.
Hacking a new distribution from the old distribution (may not be ideal because it's discrepency may be high)
Also distribute samples evenly on the shadow disc. (add sqrt)
Fix the "bias floating shadows", was cause by the discarding of backfacing geom which makes no sense in this case.
|
|
|
|
|
|
This was caused by small float precision being insuficient. The blue component of R11F_G11F_B10F has lower precision than the other 2 components. This resulted in colors drifting towards a yellowish tone.
Using RGBA16F for the concerned buffer. This double the memory usage of the framebuffers and add subsequent bandwidth usage.
|
|
This bug (explained here https://github.com/dfelinto/opengl-sandbox/blob/downsample/README.md) is breaking eevee beyond the point it's workable.
This patch workaround the issue by making sure every fbo have mipmaps that are strictly greater than 16px. This break the bloom visuals a bit but only for this setup.
|
|
|
|
It was cause by a texture without mipmap levels.
|
|
|
|
|
|
This add the possibility to add screen space raytraced shadows to fix light leaking cause by shadows maps.
Theses inherit of the same artifacts as other screenspace methods.
|
|
Make quality a parameter, and modify the ray end to be premultiplied so that the raytrace is done on a range.
This is in order to add contact shadows.
|
|
|
|
- Separate the Post Processes settings into sub panel.
- Rename "Viewport Anti-Aliasing" to sampling & super-sampling as it also reduce the noise of other effects.
- Remove Temporal Anti-Aliasing toggle and make it always active unless the number of samples is 1.
|
|
|
|
|
|
This makes the metals shine more.
Previous behaviour was not correct.
|
|
|
|
|
|
This was a mistake to use world color because it introduce light bleeding on indoor environement.
|
|
This is used to tweak the overall spread of the lighting. It is a per renderlayer setting.
|
|
|
|
This required some small changes to the data display shaders so that they match the way the object mode renders them.
Strangely enough, I had to remove the normal attribute from the display code because it was being not bound as soon as I created another rendering call in object mode. The problem may be deeper but I did not have time for this so I derive the normal from the sphere pos.
|
|
This make sure the values displayed by the "show data" sphere are initialized.
Also this make the bounce lighting progress more apparent.
|
|
This gives the user a more rapid preview of what the final result will be.
The grid cells are renderer in a series of powers of two offsets.
|