Blender Git Commits

Blender Git "master" branch commits.

Page: 217 / 5574

July 5, 2021, 18:00 (GMT)
Replace Ghost integrals with stdint fixed width integers.

Also replace integer with bool in Ghost API when only used as boolean,
and uint8* with char* in Ghost API when variable is a string.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D11617

Signed-off-by: Nicholas Rishel <rishel.nick@gmail.com>
Revision b66c21f by Hans Goudey
July 5, 2021, 17:42 (GMT)
Geometry Nodes: Use same shape as mesh line in curve line node

The line starts at the origin and ends at (0,0,1m), just like the mesh node.
July 5, 2021, 17:27 (GMT)
Geometry Nodes: Curve Primitive Line

This node creates a poly spline line in one of 2 modes:
- Line between two points
- Start Point, Direction, and Length

Both modes create splines with only start and endpoints.
A resample node can be used afterward to increase the point count.

Differential Revision: https://developer.blender.org/D11769
Revision de70bcb by Hans Goudey
July 5, 2021, 17:05 (GMT)
Cleanup: Clang tidy, unused include

Also a stupidly-included change I made when committing the patch.
July 5, 2021, 16:52 (GMT)
Geometry Nodes: Add explicit Float to Int conversion node

This patch adds a very simple node that explicitly converts a float to
an int. While this may seem redundant, it would offer 2 benefits to the
current requirement to use implicit float conversions:
1. It makes the node tree's intent more clear and self-documenting
(especially if changes in the future require integer inputs).
2. It eliminates undefined behavior in current/future nodes from float
inputs by guaranteeing that the input is an integer.

The node offers a variety of rounding techniques to make it more flexible.

Differential Revision: https://developer.blender.org/D11700
July 5, 2021, 16:07 (GMT)
Fix (studio reported) missing object's parent handling in readfile expand code.

This would prevent loading a parent that would only be referenced by
children during a linking operation.

Looks like this missing bit of code has been there since the stone ages,
it is fairly baffling to find that such critical low-levels mistakes can
survive decades in a codebase...

Note that such fully-indirectly linked parent object is not instantiated
in scene currently, this is fairly bad I think, but kind of a different
issue.
July 5, 2021, 15:24 (GMT)
macOS: support Chinese and Korean input for text buttons

This patch extends D11695 to provide full support for Chinese and Korean
input on macOS.

Chinese input notes:

You can input symbolic characters (such as '! , '$') during Chinese input.

The difference from Japanese input is that multiple `insertText` may be
called with a single key down (`keyDown` method). This happens when you input
a symbolic character (such as '! , '$') during conversion.

The conversion is confirmed (`insertText`) and the symbolic character is
entered (`insertText`). To solve this problem, I have `result_text` to
concatenate the strings and store them in `result`.

Korean input notes:

Korean does not display a conversion suggestion window.

Like Chinese, Korean input may call multiple `insertText` methods. Also,
in Korean, the previous confirmation (`setMarkedText` and `insertText`) and
the next conversion is processed (`setMarkedText`) may be called
simultaneously with a single key down (`keyDown` method).

For example:
1. press g ? (`setMarkedText`)
2. press k ? (`setMarkedText`)
3. press t ? (`setMarkedText`)
4. press k ?? (`setMarkedText`, `insertText`, `setMarkedText`)

Fixed so that the `insertText` and the last `setMarkedText` are processed.

Also, if a control character (such as Arrow, Enter) is input during Korean
input, the conversion will be confirmed (`setMarkedText`, `insertText`) and
the original control character will be processed.

In other words, if you press the left arrow key while typing in Korean, the
cursor will move to the left after the character is confirmed. Therefore, I
modified the `keyDown` method so that the `handleKeyEvent` is called again
after the `insertText` is processed in the `interpretKeyEvents` method.

Differential Revision: https://developer.blender.org/D11699
July 5, 2021, 15:24 (GMT)
macOS: support Japanese input for text buttons

Blender did not support to input East Asian characters (Chinese, Japanese,
Korean) on macOS. This patch adds support for Japanese input, by implementing
the appropriate processing for the NSTextInputClient protocol.

Technical notes:
* The conversion candidate window is drawn by the input method program calling
`firstRectForCharacterRange`.
* The string before confirmation (called `composite` in blender) is handled in
the `setMarkedText` method called by the input method program.
* The string after confirmation (called `result` in the blender) is processed
in the `insertText` method called by the input method program.

Ref T51283

Differential Revision: https://developer.blender.org/D11695
July 5, 2021, 15:20 (GMT)
Fix: macOS wrong IME candidate window position on first display

IME conversion candidate window was displayed at the mouse position, instead of
below the cursor or text selection.

Blender need to tell the input method program where the conversion candidate
window is during Japanese and Chinese input.

In macOS, the `firstRectforCharacterRange` is called when input by the input
method starts, and the position of the conversion candidate window is
specified. Therefore, it is necessary to set the position of the conversion
candidate window before input starts. This patch changes it so that the position
of the conversion candidate window is always set when the cursor is drawn.

Differential Revision: https://developer.blender.org/D11697
Revision 673c254 by Julian Eisel
July 5, 2021, 14:45 (GMT)
Cleanup: Rename ambiguous "params" variable in File Browser notifier listeners

File Browser code uses the term "params" for its file selection parameters a
lot. Avoid confusion/ambiguity by calling the notifier listener parameters
"listener_params".
Revision cadda7a by Julian Eisel
July 5, 2021, 14:06 (GMT)
Assets: Disable file renaming operator for Asset Browsers

This operator only works with renaming files, not assets.
July 5, 2021, 14:00 (GMT)
Fix performance regression in Exact boolean due to exact triangulation.

Went back to using Blender's polyfill for triangulation, which is much
faster (time for a 3.1M face boolean went from 103s to 48s).
Had to put in detection for the case that needs the exact triangulator
(bug T86805), and also a fix for non-convex quads (bug T89330).
July 5, 2021, 13:45 (GMT)
EditMesh: extract restore logic out of EDBM_redo_state_free

Split mesh restore logic into a new function:
`EDBM_redo_state_restore_and_free`.
Revision d27db03 by YimingWu
July 5, 2021, 12:43 (GMT)
LineArt: Fix occlusion effectiveness for culled triangles.
July 5, 2021, 12:32 (GMT)
Fix: IME input displays text after cursor before cursor

When inserting text using IME on a button, the character after the cursor is
displayed before the cursor.

This bug seems to have occurred during the refactoring in D765.

Differential Revision: https://developer.blender.org/D11072
July 5, 2021, 12:32 (GMT)
Fix: IME conversion candidate window not correctly placed on macOS

Blender needs to tell the input method program where the conversion
candidate window is during Japanese and Chinese input.

In macOS, there are displays where the window size and the native pixel size
are different, so the candidate window may appear in an unnatural position.

This patch converts the cursor position x and y for matching macOS window
coordinate. On Windows, GHOST_GetNativePixelSize returns 1, so it has no effect.

Differential Revision: https://developer.blender.org/D11696
July 5, 2021, 12:27 (GMT)
Cleanup: spelling, punctuation
July 5, 2021, 12:02 (GMT)
Cleanup: remove unnecessary bmesh operator comments
July 5, 2021, 12:02 (GMT)
Cleanup: use 'use_' prefix for RNA booleans
July 5, 2021, 12:02 (GMT)
Cleanup: use const arguments
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021