I have identified two connected UI/UX bugs when attempting to color a mesh using custom vertex attributes (e.g., color_x, color_y, color_z) in the "Per Vertex Color Function" filter.
Bug 1: Viewport fails to update / Silent Black Screen
When mapping custom variables to the RGB channels, clicking "Preview" or "Apply" fails to redraw the viewport correctly. The mesh either turns completely black or does not update at all. The colors only appear if the user physically closes the dialog box.
Bug 2: "Preview" permanently overwrites the color buffer
The "Preview" checkbox is destructive. If a user checks "Preview" to test a formula, realizes it is wrong, and clicks "Close" to cancel the operation, the original vertex colors are permanently lost. "Close" effectively functions as an "Apply" button.
To Reproduce:
- Import the following .ply file (which contains standard green vertices, and a secondary set of custom colors scaled 0.0 to 1.0):
ply
format ascii 1.0
element vertex 5
property float x
property float y
property float z
property float nx
property float ny
property float nz
property uchar red
property uchar green
property uchar blue
property float color_x
property float color_y
property float color_z
property float quality
end_header
-0.852 0.145 -0.321 0.0 1.0 0.0 0 255 0 0.6 0.1 0.89 0.5
0.412 -0.763 0.105 1.0 0.0 0.0 0 255 0 0.02 .076 0.2 0.5
-0.125 0.982 -0.654 0.0 0.0 1.0 0 255 0 0.87 0.05 0.32 0.9
0.789 -0.234 0.876 0.0 1.0 0.0 0 255 0 0.1 0.95 0.63 0.9
-0.564 -0.445 0.213 1.0 0.0 0.0 0 255 0 0.2 0.14 0.81 0.9
- The vertices will import correctly as bright green.
- Open Filters > Color Creation and Processing > Per Vertex Color Function.
- Input the custom variables into the RGB fields, multiplied by 255 so they are visible:
- func r = color_x * 255
- func g = color_y * 255
- func b = color_z * 255
- Check the Preview box. (Bug 1 occurs: The vertices turn completely black or fail to update, even though the math is correct).
- Uncheck "Preview", or leave it checked and click Close.
(Bug 2 occurs: The mesh does not revert back to the original green colors. The buggy preview is permanently applied to the mesh).
I have identified two connected UI/UX bugs when attempting to color a mesh using custom vertex attributes (e.g., color_x, color_y, color_z) in the "Per Vertex Color Function" filter.
Bug 1: Viewport fails to update / Silent Black Screen
When mapping custom variables to the RGB channels, clicking "Preview" or "Apply" fails to redraw the viewport correctly. The mesh either turns completely black or does not update at all. The colors only appear if the user physically closes the dialog box.
Bug 2: "Preview" permanently overwrites the color buffer
The "Preview" checkbox is destructive. If a user checks "Preview" to test a formula, realizes it is wrong, and clicks "Close" to cancel the operation, the original vertex colors are permanently lost. "Close" effectively functions as an "Apply" button.
To Reproduce:
(Bug 2 occurs: The mesh does not revert back to the original green colors. The buggy preview is permanently applied to the mesh).