【发布时间】:2016-02-02 20:29:26
【问题描述】:
我有一个混合了纯 C++ 和 Objective-C++ 的项目,以便合并一些 C++ 库。
我尝试在组合中添加一些基本的SCNScenes。 (基本我的意思是一个带有盒子节点的场景,就是这样)。每次我得到错误:
断言失败:(renderSize.x != 0),函数 -[SCNRenderContextMetal _setupDescriptor:forPass:isFinalTechnique:],文件 /BuildRoot/Library/Caches/com.apple.xbs/Sources/SceneKit/SceneKit-332.6/sources /Core3DRuntime/NewRenderer/SCNRenderContextMetal.mm,第 688 行。
有谁知道这是什么原因造成的,如果知道,我该如何解决?
编辑:
在我的ViewController.mm 我有:
self.sceneView = [[SCNView alloc] initWithFrame:frame];
self.sceneView.scene = [SCNScene scene];
SCNNode *cube = [SCNNode nodeWithGeometry:[SCNBox boxWithWidth:1.0 height:1.0 depth:1.0 chamferRadius:0]];
cube.geometry.firstMaterial.diffuse.contents = [UIColor redColor];
[self.sceneView.scene.rootNode addChildNode:cube];
[self.view addSubview:self.sceneView];
【问题讨论】:
-
显示堆栈跟踪和相关代码。
-
您的框架是否已填充?例如'CGRect frame = [[UIScreen mainScreen] applicationFrame];'
-
它是,但它被设置为 cgrectzero。我已经改变了它并且它有效。
标签: c++ ios scenekit objective-c++