I use SCNRenderer to render SCNScene in my custom rendering pipeline. Also, I need to retrieve scene depth texture during rendering. I do it with:
Everything works as expected, I do receive scene depth texture. But when I add a directional SCNLight with .castsShadow = true property into my scene, SCNRenderer writes zeros into depth texture.
After adding .castsShadow = true entire depth texture is filled up with zeros. But when I comment out .castsShadow = true line, depth texture works as expected. I can't understand why does it happen.
My current solution:
I now use 2 scenes: with and without light. The first one I use to retrieve the picture of my scene and the second one I use to retrieve the depth of my scene. But I think it's not the best solution and there must be a better way to deal with this problem.
Are there any ideas where I should be looking?
I use MetalKit only (no OpenGL) in my project.
Device: iPhone 12 Pro
OS: iOS 14.2
Xcode: 12.1
Code Block Swift passDescriptor.depthAttachment.texture = depthTexture passDescriptor.depthAttachment.clearDepth = 1.0 passDescriptor.depthAttachment.loadAction = .clear passDescriptor.depthAttachment.storeAction = .store
Everything works as expected, I do receive scene depth texture. But when I add a directional SCNLight with .castsShadow = true property into my scene, SCNRenderer writes zeros into depth texture.
Code Block Swift let lightNode = SCNNode() lightNode.light = SCNLight() lightNode.light?.type = .directional lightNode.light?.castsShadow = true //...
After adding .castsShadow = true entire depth texture is filled up with zeros. But when I comment out .castsShadow = true line, depth texture works as expected. I can't understand why does it happen.
My current solution:
I now use 2 scenes: with and without light. The first one I use to retrieve the picture of my scene and the second one I use to retrieve the depth of my scene. But I think it's not the best solution and there must be a better way to deal with this problem.
Are there any ideas where I should be looking?
I use MetalKit only (no OpenGL) in my project.
Device: iPhone 12 Pro
OS: iOS 14.2
Xcode: 12.1