[hist3d] opt out extremely small line segments, use eps for faces flipping#20143
Merged
linev merged 2 commits intoroot-project:masterfrom Oct 23, 2025
Merged
[hist3d] opt out extremely small line segments, use eps for faces flipping#20143linev merged 2 commits intoroot-project:masterfrom
eps for faces flipping#20143linev merged 2 commits intoroot-project:masterfrom
Conversation
On some platforms FindVisibleDraw returns different result for same data. Either line is not visible at all or extremly small segment from the line is visible. In last case do not call paint for gPad Has effect on 3D axis grid painter and lego painter for several stressGraphics tests - but only when checking PS/SVG/PDF content, size reduction is very small
There order of triangles drawing defined by calculated Z value. For many triangles such Z value is very close to each other and "flip" on different platforms because of float precision. To exclude such flipping, add minimal epsilon in Z comparasion. When both Z are close to each other render order of triangles is not important
Test Results 21 files 21 suites 3d 14h 24m 41s ⏱️ For more details on these failures, see this check. Results for commit 7951cda. ♻️ This comment has been updated with latest results. |
couet
approved these changes
Oct 23, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In two places of lego/surface plots output result may differs because of float arithmetic deviations on different platforms.
SURF1draw option flip order of painting of two triangles (faces) only if calculated Z value differs by epsilon (1e-12). This ensures always same order on different platforms and exclude float arithmetic errors.Both changes allows to produce similar SVG/PS/PDF output for majority of 3d plots produced by ROOT graphics.