Render material library seems corrupted

Hello - I’m having trouble with the render material library in Rhino 8 Mac. It’s been working fine since I upgraded to Rhino 8 a month or two ago, but today, when trying to load a new material from the library, it either causes Rhino to hang, or brings in the material but it’s just a solid magenta rather than what it should be. I’ve tried several existing files and brand new empty models and get the same behaviour. And I’ve tried a load of different materials from the library with the same result - either a crash or a corrupted material is loaded.

I’ve uninstalled and reinstalled Rhino and still get the same problem. Any help would be gratefully received as I’m working on some renders for a client!

My system info report is copied below. Many thanks!
Andy

Rhino 8 SR5 2024-3-12 (Rhino 8, 8.5.24072.13002, Git hash:master @ e3530849b75f00b2b977766a567ae29b055837e9)
License type: Commercial, build 2024-03-12
License details: Cloud Zoo

Apple macOS Version 14.4.1 (Build 23E224) (Physical RAM: 32GB)
Mac Model Identifier: Mac14,13
Language: en-GB (MacOS default)
.NET 7.0.0

Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Apple M2 Max
Studio Display (2560 x 1440 @ 60.00Hz)

USB devices
3Dconnexion: SpaceNavigator
Apple Inc.: Magic Keyboard with Touch ID and Numeric Keypad
TOSHIBA: EXTERNAL_USB
Apple: USB3 Gen2 Hub
Apple Inc.: Studio Display

Bluetooth devices
None

Third party kernel extensions
None

Third party plugins
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftCoreFoundation.dylib
/usr/lib/swift/libswiftCoreGraphics.dylib
/usr/lib/swift/libswiftCoreImage.dylib
/usr/lib/swift/libswiftDarwin.dylib
/usr/lib/swift/libswiftDispatch.dylib
/usr/lib/swift/libswiftIOKit.dylib
/usr/lib/swift/libswiftMetal.dylib
/usr/lib/swift/libswiftOSLog.dylib
/usr/lib/swift/libswiftObjectiveC.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswift_StringProcessing.dylib
/usr/lib/swift/libswift_RegexParser.dylib
/Library/Frameworks/3DconnexionClient.framework/Versions/A/3DconnexionClient
/usr/lib/swift/libswiftCryptoTokenKit.dylib
/usr/lib/usd/libusd_ms.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftCompression.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftCoreML.dylib
/usr/lib/swift/libswiftFileProvider.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftGLKit.dylib
/usr/lib/swift/libswiftGameplayKit.dylib
/usr/lib/swift/libswiftMetalKit.dylib
/usr/lib/swift/libswiftModelIO.dylib
/usr/lib/swift/libswiftSceneKit.dylib
/usr/lib/swift/libswiftSpriteKit.dylib
/usr/lib/swift/libswiftVision.dylib
/usr/lib/swift/libswiftRegexBuilder.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftShazamKit.dylib
/usr/lib/swift/libswiftObservation.dylib
/usr/lib/swift/libswiftVideoToolbox.dylib
/usr/lib/swift/libswiftWebKit.dylib
/usr/lib/swift/libswiftNaturalLanguage.dylib
/usr/lib/swift/libswiftSystem.dylib
/usr/lib/swift/libswiftMapKit.dylib
/usr/lib/log/liblog_network.dylib

Rhino plugins that do not ship with Rhino

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

Hi Andy - do you have just one monitor?

-Pascal

The hang could be that Rhino is trying to load textures from our server. Magenta means that failed eventually.

Try running the Rhino command _DownloadLibraryTextures. It will download all textures in one go. Once that has successfully completed try the materials from our library again.

Any better?

Hi Pascal - thanks for the quick response. Just one monitor yep!

Hi Nathan - thanks for the quick response too! I’ve run that command. It finished with the command line reporting “Unpacked textures for 1306 render content files”. It seems to load materials faster but I still get the magenta textures. I’ve restarted Rhino with the same result.

You may want to run also the non-autocompleting command TestClearRDKCaches. Then in a new document try adding a material from the library. Does it work now?

Thanks Nathan - done but still the same issue!

When you create a simple box and assign such a material to the box, then switch to Rendered mode, what do you get? And when you switch to Raytraced mode?

Maybe a screenshot of what you are seeing could help here

Hi Nathan - screenshots attached!


If you drill into the plywood texture in the Rhino material UI a path should be shown. Does that path exist with that image file?

Interestingly there’s a file there with the right name but it’s zero bytes. The same is true for the other four materials I’ve tried to load since I’ve been having this issue. But all the other texture files look fine.

Can you remove all image files that are zero bytes in length, then rerun the download command?

Ah - that appears to have fixed things! Thank you! Any idea why this happened or whether it’s likely to do it again?

I don’t know why the creation of those files failed. But now that you have the correct files it should no longer happen.