The sculpting template was created in Blender 2.80 and never adjusted
since then. The alpha socket is added as after linking step of the
versioning.
The GPU material clipping was done before clipping and would crash when
sockets don't exist.
Pull Request: https://projects.blender.org/blender/blender/pulls/122706
The system context is expected to be bound prior to the Blender
can be properly initialized. Otherwise GHOST will be doing OpenGL
calls without system context bound.
This follows code from DRW_render_context_enable().
Pull Request: https://projects.blender.org/blender/blender/pulls/122708
The issue would happened in any situation where the light
moves (update, animation, jitter) or have a lot of LOD
tagged by moving casters. In these cases, the actual
effective LOD min is bigger than the one from the UI which
results in shadow acnee artifacts (because the computed bias
is too small).
This patch saves the effective min LOD per tilemaps and
amend the `light.lod_min` to replace it by the min of
all tilemaps in used by one light.
This adds the smooth post process option from GPv2 to the
GPv3 draw tool.
This now smoothes the positions, opacities and radii. In GPv2 the radii were not smoothed for some reason.
There were some private methods in `PaintOperation` that
were only called in `PaintOperation::on_stroke_done`. These
don't need to be private methods and can just be static functions.
There was also some code that changed the selection in the
function that was supposed to only trim the end points,
so that functionality is moved to it's own function instead.
The issue is visible when adding an assert in the delta accessors of
the TranslateOperation operation (get_delta_x and get_delta_y), and
rendering compositor-nodes-desintegrate-wipe-01.blend (either command
line or F12, doesn't matter).
Seems that under certain circumstances the system might skip determining
the area of interest. For such cases ensure delta from the beginning of
the threaded code.
Pull Request: https://projects.blender.org/blender/blender/pulls/122686
This commit changes how users can interact with handles:
Unselected handles are not drawn anymore by default. Handles are bit
thinner. If handle can't be selected, because strip is too small,
it is not drawn.
When hovering over strip handle a cursor is changed to represent a
handle shape. It is possible to select 2 handles at once if strips are
adjoined.
When tweak event happens on unselected handle, handle selection is lost
ater tweaking.
This behavior can be disabled in preferences:
Editing > Video Sequencer > Tweak Handles.
Moving strips with G key works same way as before.
Pull Request: https://projects.blender.org/blender/blender/pulls/109522
With #120283 the Win32 codepath for registration creates an endless
loop. Command-line arguments are detected for registration that causes
another blender to launch with the same arguments, that repeats
forever. But the only time these arguments is used is when Blender has
already been specifically launched with the permissions needed to
register. So this means it should just do so and then exit.
Pull Request: https://projects.blender.org/blender/blender/pulls/122682
The default width for sidebars was last updated for 2.80 when columns
didn't have headings and checkboxes were right-aligned.
Some strings no longer fit especially when using headings, and in
translations. Make it slightly wider while still being relatively out of
the way in a 1920 × 1080 setup.
Detailed images in the pull request description.
Pull Request: https://projects.blender.org/blender/blender/pulls/121795
Brush cursor is being drawn even if the selected tool is non-brush in
GPv3 paint mode. To prevent this, use `ED_gpencil_brush_cursor_poll` for
`pc` poll function. Above poll function returns false if active tool is not
brush, this will avoid drawing of paint cursor in
`pc->draw`/`grease_pencil_brush_cursor_draw`.
Resolves#122541
Pull Request: https://projects.blender.org/blender/blender/pulls/122657
Since ebb61ef30f reroute nodes couldn't be inserted on links anymore,
when their socket's type is currently incompatible.
Because the sockets of reroute nodes change types dynamically
according to the sockets they are linked to, it should always be
allowed to insert reroutes onto links.
Pull Request: https://projects.blender.org/blender/blender/pulls/122637
Previously, the old bake was only overwritten file by file. This caused issues like
the one fixed in 7d77691a83. Also, it could result in invalid
bake data if some bake is canceled and the data on disk is a mix of an old and
new bake.
The material blend mode Clip and Opaque are not supported
in EEVEE-Next and need to be emulated using math nodes.
This PR makes it possible to automatically convert the
simplest cases. More complex cases need user interactions
to fix.
Rel #122489
Pull Request: https://projects.blender.org/blender/blender/pulls/122608
Blender crashes when toggling the compositor device from CPU to GPU.
This is because when submitting the compositor job, the device might be
set to CPU, so GPU related data are not initialized in the job, but
between the time the job is submitted and the time it gets executed, the
device might change to GPU, which then tries to accept the uninitialized
GPU data from the job.
To fix this, we use the evaluated scene from the depsgraph since it
captures the state of the scene used in the job initialization.
Pull Request: https://projects.blender.org/blender/blender/pulls/122661
Fix for #122285
`Viewport Render Image` feature uses full parameters of the 3D view
to capture the scene.
Rendering `camera view` is a special case: viewport zoom/pan
parameters should be ignored in order to match render.
Pull Request: https://projects.blender.org/blender/blender/pulls/122467
This fixes an issue reported when launching Blender with
`--debug-gpu`. The newly added "thick wires" feature for
bone shapes caused that problem.
The issue was that the shader definitions used
the depth tex as a sampler and at the same time wrote to it.
The fix is to remove the code that uses the depth texture.
This is just the simplest solution for now, and it doesn't change
the visual appearance of the bone shapes.
------
Note: the code I copied from was `overlay_edit_mesh_frag.glsl`.
So I assume the depth sampler is needed, but the pipeline
for bone shapes isn't set up to handle that.
Pull Request: https://projects.blender.org/blender/blender/pulls/122558
The current code does not support overriding this data, and it is
generated at runtime anyway.
This may have to be revisited later, but for the time being, be
consistent and do not try to generate override data for this.
Pull Request: https://projects.blender.org/blender/blender/pulls/122554
In most common cases, an Pointer or Collection rna property needs a
custom liboverride 'apply' callback, if it supports modifying or adding
data in liboverrides.
The main change in this commit is that diffing code won't generate
anymore operations that are not supported on such properties.
In addition, the check on such invalid operations at liboverride apply
time has been turned into a `CLOG_ERROR` message, instead of an assert.
This is both more visible (as it also prints in release builds), and
less critical (as it won't terminate blender execution).
These default assignements have not actually been needed/useful since a
very long time already. It was likely a left-over from early stages of
the project. While not a problem so far, it makes it harder to
distinguish RNA properties whith a custom liboverride handling, from the
ones using the default code.
Keeping them to `nullptr` by default also makes these callbacks definition
behavior more in line with other RNA properties callbacks, which are
usually non-null only when a custom function is defined.
No behavioral changes are expected from this commit.
The 'Frame All', 'Frame Selected', and 'Frame Scene/Preview Range'
operators will now use a smaller margin. It will use the smallest of two
sizes:
- A fixed size in UI-scaled pixels, or
- 10% of the available editor width.
Previously Blender always used the latter. This was considered too
large, especially when the editor was wide.
This also unifies the margin calculations for the graph editor, dope
sheet, and timeline. Earlier versions used smaller margins for the graph
editor than for the other editors, but this is no longer necessary.
Pull Request: https://projects.blender.org/blender/blender/pulls/122320
Previously, the stroke operations were created in the `stroke_test_start`
callback function. This causes a few issues:
* Each mode had it's own `test_start` function and it's own function
to create the stroke operations.
* Only the mouse position was available for the start sample.
With this change, the `stroke_test_start` function now does nothing.
Instead, the operations are created in the common `stroke_update_step`
function using `get_stroke_operation` the first time it's called.
This also means that the start sample is populated with the correct
start pressure.
Pull Request: https://projects.blender.org/blender/blender/pulls/122555
BLF font rendering isn't compatible with render graph as it
rewrites buffers that are not yet drawn. To work around this issue
the vertex buffers should always be created on device and not
directly altered by CPU code.
Pull Request: https://projects.blender.org/blender/blender/pulls/122648
Blender crashes when the interactive GPU compositor is running in a node
editor while rendering. This is because the GPU compositor is sharing
the same GPU context used for rendering, which is not allowed. To fix
this, we use a dedicated render list for interactive compositing, to use
its dedicated GPU context.
This is implemented by keeping another render list for the purpose of
compositing and similarly clearing its context when it is no longer
needed.
Pull Request: https://projects.blender.org/blender/blender/pulls/122472
Code was getting a direction (to grow in) from the last point in a curve
and another point in the middle of the curve.
On a curve with only two points, these points were the same, resulting
in a zero delta and thus doing nothing.
To resolve, take the root point instead in this scenario to get a valid
direction.
Pull Request: https://projects.blender.org/blender/blender/pulls/122644
A variety of non-functional style changes for the recently added
DomeLight code:
- Remove unused includes and forward decls
- Changed NULL -> nullptr
- Use `motionSampleTime` name consistently
- Moved the `r_value` out parameter to the last position per our coding
guidelines
Pull Request: https://projects.blender.org/blender/blender/pulls/122641