private void DestroyResources() { if (basePositionTextureResource != null) { VertexProcessorCache.ReleaseResource(basePositionTextureResource); basePositionTextureResource = null; } if (baseNormalTextureResource != null) { VertexProcessorCache.ReleaseResource(baseNormalTextureResource); basePositionTextureResource = null; } if (baseTangentTextureResource != null) { VertexProcessorCache.ReleaseResource(baseTangentTextureResource); basePositionTextureResource = null; } if (positionTexture) { Object.DestroyImmediate(positionTexture); } if (normalTexture) { Object.DestroyImmediate(normalTexture); } if (tangentTexture) { Object.DestroyImmediate(tangentTexture); } if (previousPositionTexture) { Object.DestroyImmediate(previousPositionTexture); } if (optimizedVertexMapResource != null) { VertexProcessorCache.ReleaseResource(optimizedVertexMapResource); optimizedVertexMapResource = null; } if (unpackedMeshResource != null) { VertexProcessorCache.ReleaseResource(unpackedMeshResource); unpackedMeshResource = null; } if (meshResource != null) { VertexProcessorCache.ReleaseResource(meshResource); meshResource = null; } if (vertexProcessorDebug != null) { vertexProcessorDebug.Dispose(); vertexProcessorDebug = null; } }