Age | Commit message (Collapse) | Author |
|
depending on the visibility of other objects
The material ID was being wrongly passed in the shader.
|
|
The resource binding were missing from the shading group
(`shgroup->uniform_attrs`), leading to no custom property UBO creation
(`drw_uniform_attrs_pool_update`) when issuing the drawcall,
resulting in a missing UBO bind.
The fix make sure to no duplicate the bindings by creating a simple
shader bind instead of a `GPUMaterial` bind.
Candidate for 3.2.1 corrective release.
|
|
The ORCO property was not being properly initialized in this case.
Candidate for 3.2.1 corrective release.
|
|
Use view position to retreive world space direction to retain float
precision.
Candidate for 3.2.1 corrective release.
|
|
This had to be added to the previous commit.
|
|
Regression introduced by {rBca37654b6327}. This commit reversed the
order of loading uniforms. The bloom renderpass used the previous
loading order to overwrite an existing uniform (bloomBaseAdd).
Due to the new ordering this doesn't work anymore where the render
pass outputted an image similar to the final image. This was fixed
by loading the correct value for bloomAddBase and remove the rewrite.
|
|
Since the occlusion input is going to be removed in EEVEE-Next, I just
added a temporary workaround. The occlusion is passed as SSS radius
as the Specular BSDF does not use it.
The final result matches 3.1 release
|
|
On MacOS Eevee cyptomatte shaders fails as it doesn't ignore the `attrib_load`
parameter. I validated that removind the parameter works on Linux/AMD and MacOS
Intel. It could be that there are other platforms that require the dummy parameter.
If this should use a forward declaration and implement an emoty function in the
cryptomatte vertex shader.
|
|
|
|
This bug was unreported. This was triggering a linking error caused by
the vertex shader not having a local version of `attr_load_temperature_post`
and `attr_load_color_post`.
|
|
This was caused by a wrong mass rename on a piece of code used only on
older hardware.
|
|
This has been replaced by `draw_object_infos`.
|
|
This was caused by a missing `normalize`.
|
|
Fix the following error messages on Blender startup
since commit 308a12ac647d6f9b4ef2b6c403903e0aeb65a571.
This commit fixes T98194.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D15007
|
|
This seems to be caused by the `!` used in conjunction with a macro.
Using the macro directly as condition does not exhibit this issue.
|
|
Self describing title.
Also remove the layout inside the geometry shader as they are now generated
by the backend.
|
|
This was because the main `surface_vert.glsl` was changed to accomodate the
needs of the `ShaderCreateInfo` but was still used by the cryptomatte
shader. The fix is to include the same libraries as the material shaders
and bypass `attrib_load()`.
|
|
This was caused by the `mb_data->obmat[]` being wrong because they are
now shared between the particle system and the object.
But Hair need the dupli parent matrix instead of the object matrix.
Disabling `Show Emitter` option fixes the bug.
To avoid this problem, request a different `EEVEE_ObjectMotionData`
for particle systems using a different key pointer in the hash.
This is a bit dirty but there is less code polution using this workaround.
Differential Revision: https://developer.blender.org/D14911
|
|
Some drivers completely forbid quote characters even in unused
preprocessor directives.
This patch adds a debug build check for all `.glsl` files that need to
be manually handled. For shared headers with `#include` directives, we
need to do runtime patching of the source to remove the quote.
Also fix an instance of the quotes check failing in `eevee_next`.
|
|
|
|
This was caused by the `Closure` members being added to the final contribution
more than once. The workaround is to clear the members once a closure has
been added to the final contribution. I used `inout` on `Closure` inputs
so that the render engine implementation of mix and add closure nodes
can do its own thing. The nodegraph handling of inout was changed for this
to work.
|
|
Curve tangent was correctly mistaken with curve normal.
This patch fixes the name of the output in the glsl function and make curve
attributes more explicit (with `curve_` prefix).
This also improve the normal computation by making it per pixel to match
cycles.
Also ports the changes to eevee-next.
|
|
This was leading to linking errors.
Fixes T97779 Regression: World volume noise stopped working
|
|
This was because the alpha clip thresholding was previously done in the
material nodes codegen. Now it is the responsibility of the engine to
implement it.
This adds a loose uniform that is set by EEVEE itself to control the clip
behavior.
|
|
blended material
This was because the evaluation was still being deferred just like for the
opaque case.
|
|
When resizing a viewport all engine instance data was cleared.
This wasn't the intended design and lead to performance regressions
in the image engine.
This patch makes sure that the instance data isn't cleared when
the viewport size changes. When using instance data, draw engines
are responsible to update the textures accordingly.
This could also reduce flickering/stalling when resizing the viewport
in eevee-next.
Fixes T95428.
Reviewed By: fclem
Maniphest Tasks: T95428
Differential Revision: https://developer.blender.org/D14874
|
|
|
|
Add missing license headers based on files in the same directory.
|
|
Overwriting UV map or vertex color data in Geometry nodes will move the
layers to another CustomData channel, and as such, will make attribute
lookup fail from the UVMap and Vertex Color nodes in EEVEE as the
CustomDataType will also be modified (i.e. no longer `CD_MTFACE` or
`CD_MCOL`).
As discussed in T93179, the solution is to use `CD_PROP_AUTO_FROM_NAME`
so that the render engine is able to find the attributes. This also makes
EEVEE emulate Cycles behaviour in this regard. `attr_load_uv` and
`attr_load_color` are also removed in favor of the generic attribute
API in the various GLSL shaders.
Although `CD_PROP_AUTO_FROM_NAME` is now used even for UV maps, the
active UV map is still used in case the attribute name is empty, to
preserve the old behavior.
Differential Revision: https://developer.blender.org/D13730
|
|
Code was partial migrated from the previous image engine. Missing multilayered
images.
|
|
|
|
|
|
This commit introduce back support for all geometry types and all nodetree support.
Only the forward shading pipeline is implemented for now.
Vertex Displacement is automatically enabled for now.
Lighting & Shading is placeholder.
Related Task: T93220
# Conflicts:
# source/blender/draw/engines/eevee_next/eevee_engine.cc
# source/blender/gpu/CMakeLists.txt
|
|
Those are usually not supported but some driver silently fix them and most
just silently fail (rendering error).
|
|
This removes the usage of `GPU_shader_create_from_info_name()`.
|
|
This should have no functional changes.
|
|
These are not needed anymore.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|
|
This was caused by rB6e5877c189df5d6c2dfcaa44ba4c3c9a8b387998.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|
|
This should have no functional changes.
|