|
我现在在用RTT做一个渲染到纹理的东西,就是贴过去什么东西都没有。。
代码如下:
这是设置RTT相机的代码:
-
- mRttCamera->setRenderOrder(osg::Camera::PRE_RENDER);
- mRttCamera->setGraphicsContext(mGc.get());
- mRttCamera->setViewport(0, 0, mWidth, mHeight);
- mT2d->setInternalFormat(GL_RGBA);
- mViewer->addSlave(mRttCamera, false);
- mRttCamera->attach(osg::Camera::COLOR_BUFFER, mT2d);
- mRttCamera->addChild(osgDB::readNodeFile("cow.osg"));
复制代码
我是将这个纹理贴到一个osgWidget::widget中去的。代码如下:
-
- osgWidget::Widget* ArtWidget = new osgWidget::Widget("ArtWidget", mWidth/3.0, mHeight/2.0);
- ArtWidget->setTexCoord(0.0f, 0.0f, osgWidget::Widget::LOWER_LEFT);
- ArtWidget->setTexCoord(1.0f, 0.0f, osgWidget::Widget::LOWER_RIGHT);
- ArtWidget->setTexCoord(1.0f, 1.0f, osgWidget::Widget::UPPER_RIGHT);
- ArtWidget->setTexCoord(0.0f, 1.0f, osgWidget::Widget::UPPER_LEFT);
- BavWidget->setColor(0.0, 0.0, 0.0, 0.2);
- ArtWidget->setColor(1.0, 1.0, 1.0, 1.0);
- ArtWidget->getOrCreateStateSet()->setTextureAttributeAndModes(0, mT2d, osg::StateAttribute::ON);
复制代码
但是显示出来的什么都没有。。没有一头牛啊。。
这到底我设错了嘛。。??还是有其他问题。。 |
|