Age | Commit message (Collapse) | Author |
|
|
|
DRW_render_set_time is calling RE_engine_frame_set will in turn calls
BKE_scene_camera_switch_update.
To workaround this, we get the original camera object at render init and
get the evaluated version from it after each time change.
|
|
|
|
|
|
This change how motion data are indexed inside the ghash.
We follow cycles closely now and use evaluated ID pointers.
By removing the hack, it fixes T78561 (No Motion Blur on linked objects)
|
|
This fix issues with instanced geometry and modifiers. Since the
depsgraph will duplicate the objects when they have different modifiers,
the evaluated object are garanteed to be unique.
|
|
Was just an issue of `taa_render_sample` being reset to 1 when it shouldn't.
|
|
The problem is caused by a lack of prediction in the `isect_line_segment_tri_v3`
that incorrectly confirms some intersections of coplanar segments to the triangle.
The solution is to use another algorithm to detect intersections.
This also resulted in a slight improvement in the performance:
- 1min 17sec to 1min 6sec in my test file
Differential Revision: https://developer.blender.org/D8500
|
|
|
|
This replaces header include guards with `#pragma once`.
A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`),
because they are used in other places.
This patch has been generated by P1561 followed by `make format`.
Differential Revision: https://developer.blender.org/D8466
|
|
Caused by rB4f59e4bddcb0c06e441adf68a5f252a4e5b4b260
|
|
This was caused by the ViewLayer being freed with all its
engine data.
|
|
Follow path seems to not be catched by `BKE_object_moves_in_time`.
For this reason, we cache all transforms for all object and check
ourselves if an animation occurs. This is almost what cycles does.
We also fix the rigid body case if the rigid body use deformation.
|
|
|
|
Was passing an array of length 3 to `where_on_path()` that expected
length 4.
|
|
This was comming from rBd82c3d86155ea3c7831c7b5ef5d07bc8e2d99394
|
|
Small mistake in rB5249a813f22f
Now for fix it real!
|
|
The cache key for particle system was the original Object data. But this
is incorrect for particle systems as modifiers are not shared.
|
|
Was caused by rBd82c3d86155e
|
|
|
|
This was due to the new DRWShadingGroup not being saved and reused for
the next objects.
|
|
In Blender 2.90 EEVEE materials were refactored that introduced crashes on Intel
GPUs on Windows. The crash happened in the `local_context_workaround` that temporary
stored compiled materials in a binary form to reload it in the main GL context.
It has been tested that the workaround isn't needed anymore for HD6xx GPUs, but it
is still needed for HD4000.
After several unsuccesfull fixes we came to the conclusion that we could not support
the local context workaround and needed to come with a different workaround. The idea
of this patch is that in these cases there is only a single context that is used for
rendering. Threads that uses these contextes are guarded by a mutex and will block.
Impact on User Level:
* Due to main mutex lock the UI freezes when rendering or baking or feel less snappy
Reviewed By: Clément Foucault, Brecht van Lommel
Differential Revision: https://developer.blender.org/D8410
|
|
|
|
Some implementation have different maximum texture size.
This patch avoid crash when texture allocation fails when:
- trying to bake a lightcache too big for the OpenGL imeplementaion.
- loading a cache from file that is too big for the OpenGL imeplementation.
|
|
It seems to be expected that the render engine reset to the right CFRA
if it modifies it.
|
|
|
|
|
|
Also order return matrices last.
|
|
|
|
|
|
This is to match the option name and to avoid confusion with
workbench xray mode.
|
|
leads to crash
|
|
When bl_use_gpu_context is set, an OpenGL context will be available for
OpenGL based render engines.
Differential Revision: https://developer.blender.org/D8305
|
|
This wasn't added back from 2.7x, making "Recenter Hook" applier to
do nothing.
|
|
This matches similar functionality for drawing lines.
|
|
|
|
This also remove some non functionnal state changes that were left
from legacy code.
|
|
|
|
|
|
And move it to GPU module.
|
|
When using link duplicated objects it could happen that one object is
calculating the GPUBuffers and the second object is marking these
buffers invalid. This introduces threading issues.
This patch fixes this by combining the surface and surface per material
batches. Most likely the surface per material batches are used and when
requested you will most likely need the surface batch for the depth
tests and overlays.
During tests it slightly improves performance as batches aren't thrown
away without using it.
After this patch we can add a quick path for meshes with one material
and two materials.
Alternative approaches that have been checked:
- sync extraction per object: reduced performance to much (-15%)
({D8292})
- post checks: reduced the threading issues, but didn't solve it.
- separating preparation and execution of the extraction ({D8312})
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8329
|
|
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D8328
|
|
|
|
|
|
|
|
|
|
Now that binds are permanent there is no need to setup the same
texture for each subgroups.
|
|
|
|
|
|
Also includes outline overlays. Removes the temp overlay drawing
We make the geometry follow camera like billboards this uses less
geometry. Currently we use half octahedron for now. Goal would be
to use icospheres.
This patch also optimize the case when pointcloud has uniform radius.
However we should premultiply the radius prop by the default radius
beforehand to avoid a multiplication on CPU.
Using geometry instead of pseudo raytraced spheres is more scalable as
we can render as low as 1 or 2 triangle to a full half sphere and can
integrate easily in the render pipeline using a low amount of code.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D8301
|