Age | Commit message (Collapse) | Author |
|
|
|
This reverts commit 403bb357ae2b1d2561a0d77c96035ba54c197cbd.
The old implementation matches cycles closer. See T74378
|
|
|
|
Object Scale was not taken into account.
This lead to reports like T74247 where the user scaled the envelope
distance and radii to the supposedly right values inthe viewport, but
these were actually 'wrong' under the hood. Assigning weights from bone
envelopes seemed like it would fail, but this code would actually take
the armature scaling into account when checking envelope distance and
weight.
ref T74247
Maniphest Tasks: T74247
Differential Revision: https://developer.blender.org/D6964
|
|
Differential Revision: https://developer.blender.org/D6959
|
|
When using Material Previews not all uniform blocks were filled. This
patch will add the renderpass_block when drawing the background.
Note that I wasn't able to reproduce the issue on my system, but
according the the backtrace it most likely solves the issue. I let the
reporter test.
|
|
|
|
This is in preparation of new object types. This only changes mesh_eval, we
may do the same for mesh_deform_eval and other areas in the future if there is
a need for it.
This previously caused a bug in T74283, that should be fixed now.
Differential Revision: https://developer.blender.org/D6695
|
|
than mesh"
This reverts commit f2b95b9eae2ee913c99cff7595527b18d8b49d0a.
Fix T74283: modifier display lost when moving object in edit mode.
The cause is not immediately obvious so better to revert and look at this
carefully.
|
|
The apparent off-by-one error was caused by a few factors:
- The 'blend base' colour was green for the two frames directly
surrounding the current frame, but black for the current frame itself.
- For the frames before the current one, the 'blend base' was mixed with
black, making the green stand out clearly, but fading to black again
for the current frame. This looks like an off-by-one, even though it
was just bad mixing.
- For the frames after the current one, the 'blend base' was mixed with
cyan, which already has a strong green component, so mixing it there
was much less visible, making the entire thing look like an off-by-one
error where it actually wasn't.
I have simplified the code, so now it only chooses green as the 'blend
base' for the current frame, and simplified the mixing for the current
frame.
|
|
Revert the change that renders the background black.
|
|
This further separates requested attributes and textures from the actual
node graph, that can be retained after the graph has been compiled and
freed. It makes it easier to add volume grids as a native concept, which
sits somewhere between an attribute and a texture.
It also adds explicit link types for UDIM tile mapping, rather than
relying on fairly hidden logic.
|
|
Cycles recently fixed this issue, EEVEE needed to be adapted to output
similar results in the light passes.
This patch implements cycles `safe_divide_even_color` function to a GLSL
function that will be used when extracting the light passes.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D6948
|
|
Shadow could penetrate occluded geometry. This patch adds a check to see
if the light is in the right location to light the pixel.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D6918
|
|
This is in preparation of new object types. This only changes mesh_eval, we
may do the same for mesh_deform_eval and other areas in the future if there is
a need for it.
Differential Revision: https://developer.blender.org/D6695
|
|
For when we support sources of hair other than particle systems.
|
|
Bug was introduced by the render passes. We had to tweak the bloom
shader a bit so we could reuse it. After that tweaking the original
alpha was ignored.
This patch will read and store the correct alpha channel.
|
|
When disabling AO or BLOOM in the render tab, when the pass is shown in
a 3d viewport the pass wasn't reset. This resulted in showing a black
texture and a not filled UI render pass in the shading popover.
This patch will by default reset to the combined pass. It is intended
that the render_pass in the 3d shading struct isn't set to combined as
people could have disabled AO/bloom by mistake and it could reset
viewports that aren't visible.
|
|
|
|
|
|
The render passes checked all bits of an integer, that can lead to
runtime errors. Added the max bit in the DNA and used this.
|
|
SSS buffers are lazy initialized when needed. When shaders recompile the
SSS buffers could be incorrectly drawn. During the render passes project
we tried to fix this, but that resulted in incorrect result of the first
sample after a shader was compiled.
We revert this change knowing that we know the issue, but haven't found
a proper solution for it.
|
|
|
|
|
|
This is using the GGX probe as background. This has the drawback of
having the resolution choosed in the indirect lighting setting.
The blurring is not really high-quality.
The pros is that it has a simple implementation and is fast to evaluate.
This patch also fades the background alpha to make overlay engine draw the
default background color in the correct color space. Removing one colorspace
hack.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6895
|
|
|
|
This was caused by the texture size not being power of 2. Thus the
padding applied to the base LOD did not match the highest mipmaps.
|
|
Put DefaultFramebufferList and DefaultTextureList into an own header
file. These structs were private, but also used by the window manager
and gpu package. The previous implementation we needed to keep these
structs in sync.
|
|
This is not needed anymore with the new overlay xray fading.
|
|
We now use a better smoother technique that uses correct alpha blending.
This is possible now that we render overlays in a separate buffer.
|
|
|
|
Also change the blending factors to make wireframe a bit darker in
unselected cases.
|
|
|
|
|
|
This patch adds new render passes to EEVEE. These passes include:
* Emission
* Diffuse Light
* Diffuse Color
* Glossy Light
* Glossy Color
* Environment
* Volume Scattering
* Volume Transmission
* Bloom
* Shadow
With these passes it will be possible to use EEVEE effectively for
compositing. During development we kept a close eye on how to get similar
results compared to cycles render passes there are some differences that
are related to how EEVEE works. For EEVEE we combined the passes to
`Diffuse` and `Specular`. There are no transmittance or sss passes anymore.
Cycles will be changed accordingly.
Cycles volume transmittance is added to multiple surface col passes. For
EEVEE we left the volume transmittance as a separate pass.
Known Limitations
* All materials that use alpha blending will not be rendered in the render
passes. Other transparency modes are supported.
* More GPU memory is required to store the render passes. When rendering
a HD image with all render passes enabled at max extra 570MB GPU memory is
required.
Implementation Details
An overview of render passes have been described in
https://wiki.blender.org/wiki/Source/Render/EEVEE/RenderPasses
Future Developments
* In this implementation the materials are re-rendered for Diffuse/Glossy
and Emission passes. We could use multi target rendering to improve the
render speed.
* Other passes can be added later
* Don't render material based passes when only requesting AO or Shadow.
* Add more passes to the system. These could include Cryptomatte, AOV's, Vector,
ObjectID, MaterialID, UV.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D6331
|
|
|
|
The problem is that Custom Shape Bones can also have a custom size.
So the pchan->disp_mat doesn't always consider the actual length of the bone.
The proposed solution is to calculate the axes matrix at the drawing pass.
Ref T65640
Reviewed By: fclem
Differential Revision: http://developer.blender.org/D5049
|
|
Was due to a mistake when removing previous code...
|
|
|
|
We detect the case where we need to invert the facing directly inside the
DRWView update and do the appropriate GL calls at draw time.
Fix T63047 Camera with negative scale works only in Cycles Rendered view
Fix T71352 Negative scale camera causes BLI_assert
|
|
This commit replaces the "Use Gradient" checkbox theme option with an
enum and implements a radial background.
Whith this change, it should be easier to implemet other types of more
complex background types, like a world space oriented gradient.
Reviewed By: billreynish, fclem, brecht
Differential Revision: https://developer.blender.org/D6825
|
|
This patch adds a dedicated path to extract 16bit normals instead of packing them into 10bits/comp.
The tangents are also packed to 10bits/comp if not using the new High Quality Normal option.
Fix T61024 Degraded texture shading on dense meshes
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6614
|
|
|
|
The render passes didn't follow the DrawManager way of doing things. It added new geometry and shading groups during drawing. This would make it harder to migrate to Vulkan later on.
This change will re-implement this part by using uniform references.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D6875
|
|
|
|
It was caused by the bone selection overlay that was delaying the
xray pass. But OVERLAY_pose_draw were never called when doing selection.
|
|
|
|
|
|
Caused by unitialized value.
|
|
This change will not render the normals for faces that are hidden.
Before we had instance drawing the hidden faces were registered in the
index buffer. During the overlay refactoring the rendering was migrated
to instance rendering. Instance rendering does not use the index buffer
so the data was ignored.
This patch stored the normal visibility in the .w part of the normal or
for face normals it will set the normal to zero. The shader looks at
this and renders the normals fully transparent when detected.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D6798
|