Age | Commit message (Collapse) | Author |
|
Changed code to follow master behavior closer: ignore draw-as checks
when particles are evaluating for rendering.
|
|
The issue was caused by Render Single Layer option enabled, which is
very handy for artists work, so they can hit F12 and see view layer
they are currently working in a final rendered state. This saves a lot
of time since all the "non-interesting" objects are ignored for such
iterations.
However, for the render farm we need to render view layers which are
explicitly set for render, and ignore active view layer.
Reasonable solution seems to be to ignore the Render Single Layer
option when rendering from the command line. It is really something
more like UI behavior option.
|
|
We can not support animation of those flags reliably in the pipeline, so just
mark them as non-animatable.
|
|
|
|
Alt+E to include.
|
|
|
|
pointed out by anchpop on irc.
|
|
Match Cycles behaviour of scalling the SSS radius and don't interpolate
between diffuse and SSS result.
|
|
|
|
We just reset the temporal sampling and avoid using the previous frame
for SSR at all.
|
|
|
|
|
|
|
|
The id was free after each size.
We now only free after the job has finished.
|
|
|
|
Like in cycles it's a bit more slower than linear but it's smoother.
Works for all projection type.
|
|
Add placeholder for cubic and smart filtering for now.
|
|
Blending was done in srgb space and was not matching cycles.
Optimized by using less branches and more vector operations.
|
|
|
|
Barely any visible difference, except when drawing big custom text
with the Python API.
|
|
|
|
Hopefully this will fix issue with camera rig where camera properties
(like, near/far clip) are driven by custom properties from bones, and
those bones are actually belong to proxied armature.
|
|
|
|
|
|
|
|
This engine is only used for selection and draw depth so no need for
anything else.
Also add backface culling support to selection.
|
|
|
|
This is purely runtime data, so move it to new tags. ;)
|
|
Add new tag to bSound (runtime flags), and make read code to set a 'no
reload waveform' new tag, since it uses a mapping to get existing
waveform in undo case...
|
|
Previously it was calling `BKE_pose_rebuild()`, such thing shall never
be called from drawing code! Hopefully this now works as expected and
that horrible hack is not needed anymore.
|
|
`BKE_pose_rebuild()` should (ideally) always trigger a rebuild of the
depsgraph, since it can add or remove posechannels.
This function now takes a Main parameter to ensure that related
depsgraphes are tagged as dirty (kept it optional, for some corner cases).
We should also probably double-check calls to that function, think in
theory it should only be called from depsgraph itself? But for now...
|
|
|
|
|
|
|
|
Damped Track by specification attempts to arrive at the desired
direction via the shortest rotation. However with opposite vectors
there are infinitely many valid 180 degree rotations. Currently
it gives up and does nothing.
I think that it would be more reasonable to resolve the ambiguity
arbitrarily, so that Damped Track won't have a weird dead zone.
To make it more predictable I use a local axis.
In addition, the singularity area vicinity has some floating
point precision problems that result in significant jitter.
This applies workarounds for two causes of instability.
Differential Revision: https://developer.blender.org/D3530
|
|
|
|
GPUFrameBuffers were being free when no context was attached or in the
wrong gl context. This make sure this does not happen again.
You can now safely free any gl resource from any thread (well as long as
it's not used anymore!).
|
|
|
|
|
|
|
|
|
|
broke when i removed the 2013 support.
|
|
This increases stack memory usage some, and ideally we'd support a dynamic
size. But this is quite difficult on the GPU and hopefully 32 is enough even
for very complex cases.
|
|
|
|
When editing a Material the depsgraph can throw away the evaluated ID
before the preview job localized the said ID.
To fix this we localize the ID from the main thread.
Also fix WM_OT_previews_ensure crashing because of no depsgraph.
|
|
I would not expect the order of registration to matter, and ideally we want
to order the engines in the UI menu differently, but this helps for now.
|
|
|
|
Was only visible when doing command line, since it was happening due to
cache-free policy which was aimed to bring memory usage down.
The issue is that if object with particle system is used as a nested
duplicator multiple times, it will only generate children first time,
and after that its caches are freed. After that duplication system
can not generate any instances, since the path cache is lost.
Now we delay caches free to after all objects are synchronized, which
ensures all instances are generated.
This will increase a memory peak a bit during object synchronization
time, but overall it shouldn't be that bad, since memory footprint
after synchronization will stay the same as before this change.
The ultimate thing to do here would be to drop the whole dependency
graph away, but this will require:
- API on engine side, to inform it to drop the dependency graph.
- Changes in Cycles report system to NOT use evaluated scene to get
scene name (evaluated scene will be gone with dependency graph).
|
|
The code is ifdef-ed for now, since there is more work needed
to be done before we can officially switch to it.
Uses new subdiv module.
|
|
The idea is to use this as a replacement of old CCG, now it is
based on OpenSubdiv. The goal is to reduce any possible overhead
which was happening with OpenSubdiv used by CCG.
Currently implemented/supported:
- Creation from mesh, including topology on OpenSubdiv side,
its refinement.
- Evaluation of limit point, first order derivatives, normal,
and face-varying data for individual coarse position.
- Evaluation of whole patches.
Currently not optimized, uses evaluation of individual coarse
positions.
- Creation of Mesh from subdiv, with all geometry being real:
all mvert, medge, mloop, and mpoly.
This includes custom data interpolation, but all faces currently
are getting separated (they are converted to ptex patches, which
we need to weld back together).
Still need to support lighter weights grids and such, but this
is already a required part to have subsurf working in the middle
of modifier stack.
Annoying part is ifdef all over the place, to keep it compilable
when OpenSubdiv is disabled. More cleaner approach would be to
have stub API for OpenSubdiv, so everything gets ifdef-ed in a
much fewer places.
|