最近因工作需要,开始研究OSG。非常郁闷的是,OSG自带的一个示例:osgViewerMFC在我的宽屏显示器上显示的对象都是变形的,在OSG China论坛里也有人问相同的问题,但几位大牛都说是没有设置正确的窗口与视口比例造成的,只要通过调用camera->setProjectionMatrixAsPerspective()方法设置一下就可以了,可我搞了半天也没效果。后来,无意间看到OSG3 Beginners Guide中提到这个示例,并附有相关代码,在仔细对比之下,发现有一行代码是不同的,关键就在这里了。
一句话的事,着急的可以直接看这里:
在把Camera添加到Viewer的时候,问题代码用的方法是addSlaveCamera,而正确的应该是setCamera。
唉,虽然很简单,但对一个初学者来说,还是很要命的。希望OSG前辈们不要见笑哈。