Need call beginScene before rendering

来源:互联网 发布:华为畅享5s手机壳淘宝 编辑:程序博客网 时间:2024/05/22 01:58

做东西时,出现没有绘制结果的情况。很奇怪,查看后,发现确实没有绘制物体。

稍作修改后,出现了另一个问题。在输出窗口“Need call beginscene before rendering”

但是,明明调用了SUCCEEDED(dev->BeginScene()),惆怅了一晚。第二天,读了下代码,

发现,我创建了2个Device对象,但是不是2个Device对象就会出现这个错误呢?

于是,再做下试验。

在新工程中,把代码粘贴到里面。结果,创建多个Device也没有出现这个错误。

这说明我的方向是错误的。

马上再回到代码里面,查看被我注释的代码。最后才发现,原来我的对象单体模式,在构建时候,传入了一个Device,

但是后面,我又调用了一次构建函数,但已经构建了实体,所以只返回了原实体的指针,并没有重新创建。

问题就出在这里,这2次构建的时候,分别传入了不同的Device。但我在BeginScene的时候,用的是第二次的Device,

绘制用的是第一次的Device.因此就报错了。- = 强大的调试器。

对于这个简单的错误,有3点要注意。

1。要查看是不是真的在代码的绘制前,调用了BeginScene。而不是怀疑编译器。

2。当然也有时,需要全部重新编译下。可能有编译版本不正确。

3。查看BeginScene的dev和Render的Dev是不是同一个(重要!!气人啊!!)

原创粉丝点击