Surfaces Edges look jagged

i am not sure when this started sneaking in but its in there for a while. when you look at edges from different angles some start tearing apart and disappear. from other angles they almost look ok but they are never very clean imo.



it helps slightly when i increase the display mesh resolution to something extreme but it still is not perfect and the edges have an aliasing going on.

no magic bus.3dm (103.5 KB)

@stevebaer i assume you might want to have a look.

SystemInfo

Rhino 8 SR21 2025-6-17 (Rhino 8, 8.21.25168.13002, Git hash:master @ 544dfaa0b8f1adb058e7a6c812863c48f143c8c6)
License type: Educational, build 2025-06-17
License details: Cloud Zoo

Apple macOS Version 15.5 (Build 24F74) (Physical RAM: 64GB)
Mac Model Identifier: Mac13,2
Language: en-GB (MacOS default)
.NET 8.0.14

Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Apple M1 Ultra
MateView (2304 x 1536 @ 60.00Hz)
GPU Vendor: Apple

USB devices
Apple Inc.: Magic Keyboard with Touch ID and Numeric Keypad
Dialog Semiconductor (UK) Ltd: MateView
Logitech: G Pro Gaming Mouse

Bluetooth devices
None

Third party kernel extensions
None

Third party plugins
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftObjectiveC.dylib
/usr/lib/swift/libswiftCoreFoundation.dylib
/usr/lib/swift/libswiftDarwin.dylib
/usr/lib/swift/libswiftDispatch.dylib
/usr/lib/swift/libswiftIOKit.dylib
/usr/lib/swift/libswiftSystem.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswift_Builtin_float.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswift_StringProcessing.dylib
/usr/lib/swift/libswift_errno.dylib
/usr/lib/swift/libswift_math.dylib
/usr/lib/swift/libswift_signal.dylib
/usr/lib/swift/libswift_stdio.dylib
/usr/lib/swift/libswift_time.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswiftsys_time.dylib
/usr/lib/swift/libswiftunistd.dylib
/usr/lib/swift/libswiftDistributed.dylib
/usr/lib/swift/libswiftObservation.dylib
/usr/lib/swift/libswiftSynchronization.dylib
/usr/lib/swift/libswiftMetal.dylib
/usr/lib/swift/libswiftOSLog.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswiftRegexBuilder.dylib
/usr/lib/swift/libswift_RegexParser.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCryptoTokenKit.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftCoreImage.dylib
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftNaturalLanguage.dylib
/usr/lib/swift/libswiftMLCompute.dylib
/usr/lib/swift/libswiftCompression.dylib
/usr/lib/swift/libswiftDataDetection.dylib
/usr/lib/swift/libswiftCoreGraphics.dylib
/usr/lib/swift/libswiftFoundation.dylib
/usr/lib/swift/libswiftSwiftOnoneSupport.dylib
/usr/lib/usd/libusd_ms.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftSpatial.dylib
/usr/lib/swift/libswiftPassKit.dylib
/usr/lib/swift/libswiftAppleArchive.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftVideoToolbox.dylib
/usr/lib/swift/libswiftGameplayKit.dylib
/usr/lib/swift/libswiftSpriteKit.dylib
/usr/lib/swift/libswiftGLKit.dylib
/usr/lib/swift/libswiftMetalKit.dylib
/usr/lib/swift/libswiftModelIO.dylib
/usr/lib/swift/libswiftSceneKit.dylib
/usr/lib/swift/libswiftMapKit.dylib
/usr/lib/log/liblog_network.dylib

Rhino plugins that do not ship with Rhino
/Users/richard/Library/Application Support/McNeel/Rhinoceros/packages/8.0/Garage/8.7.24140/net7.0/Garage.rhp “Garage” 8.7.24140.15431

Rhino plugins that ship with Rhino
/Applications/Rhino 8.app/Contents/Frameworks/RhMaterialEditor.framework “Renderer Development Kit” 8.21.25168.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp “Commands” 8.21.25168.13002
/Applications/Rhino 8.app/Contents/PlugIns/NamedSnapshots.rhp “Snapshots” 8.21.25168.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCodePlugin.rhp “RhinoCodePlugin” 8.21.25168.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp “RDK_EtoUI” 8.21.25168.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/MeshCommands.rhp “MeshCommands” 8.21.25168.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp “Rhino Render” 8.21.25168.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp “RhinoCycles” 8.21.25168.13002
/Applications/Rhino 8.app/Contents/PlugIns/SectionTools.rhp “SectionTools” 8.21.25168.1002
/Applications/Rhino 8.app/Contents/PlugIns/RhinoRender.rhp “Legacy Rhino Render” 8.21.25168.1002
/Applications/Rhino 8.app/Contents/PlugIns/Displacement.rhp “Displacement” 8.21.25168.1002
/Applications/Rhino 8.app/Contents/PlugIns/PanelingTools.rhp “PanelingTools” 8.21.25168.1002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp “IronPython” 8.21.25168.13002
/Applications/Rhino 8.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp “Grasshopper” 8.21.25168.13002

here some more examples which are weird, the planar surface looks ok but once i select it it exhibits the same/similar issue


on extrusions it seems the other way around again at least on this one i tried. though its very mild on this one.


it does not seem to appear on boxes

here a file with these arbitrary surfaces

any.3dm (51.1 KB)

hi @encephalon
I see what you mean

As a test: Do you get a better result when increasing the z-bias? (e.g. TestZBiasFactor 64)

It doesn’t look any better for me in older Rhino 8 versions, nor in Rhino 7 though.

thanks for checking @Gijs yes the test command improved it significantly from 64 to 100 there is still a bit improvement on edges scaled to 3 in the display modes after that it looks pretty cleared. i actually thought about this but i could not remember it without my cheat sheet.

yes true,
since these artefacts appear stronger on edges that are scaled to a higher value in the display modes i did not notice before meddling with the setting some time ago. so them appearing some time ago just made it more visible but it was in fact already there. i am pretty certain it worked alright in v5 but the display underwent quite some significant changes since then.

but now i have to throw that into the command list to have it set, so i guess it still needs fixing?

Screenshot 2025-06-23 at 11.28.42

Well, this is a difficult problem to solve. If you leave it at 64 you are probably going to complain about ‘edges are bleeding through my poysurfaces’ next.

how would that look like? i did not actively work a lot in that setting still so i did not notice side effects yet.

the question is, is this on a list already? i guess so, but does it depend on scaling up/down from 4k maybe? i may have an akward set up, which comes to my mind might also be responsible time wise to notice these artefacts.