Hello,
I am trying to use the subdivision mesh rendering option.
I can see it working in RealityComposerPro:
But not when loading asset and displaying in Simulator:
Using this code:
import SwiftUI
import RealityKit
import RealityKitContent
struct AirspaceView: View {
// MARK: - VIEW BODY
var body: some View {
RealityView { content in
if let a = try? await Entity(named: "Models/Test/Test.usdc", in: realityKitContentBundle) {
content.add(a)
}
}
}
}
Any ideas why?
Hello,
See Running your app in Simulator or on a device:
"When running apps in Simulator, some hardware-specific features might not be available. Frameworks that provide access to device-specific features also provide API to tell you when those features are available. Call those APIs and handle the case where a feature isn’t available. To test the feature itself, run your code on a real device."
and Developing Metal apps that run in Simulator (because Metal is "under the hood" here):
"Sometimes, this translation means that Simulator may support fewer features or different implementation limits than an actual Apple GPU. Simulator provides a device instance with capabilities similar to an Apple family 2 GPU (MTLGPUFamily.apple2), as described in the Metal Feature Set Tables. Because Simulator doesn’t support many of the features in more recent Apple family GPUs, consider whether using Simulator is worth the effort for your app based on the Metal features you use."
_ Main takeaway is that although subdivision surfaces are visible in RCP running on Mac they don't appear to be supported by the Apple family 2 GPU in the Simulator.
If the subdivision surfaces aren't rendered on actual device then that's a bug and we'd greatly appreciate a bug report.