Я создал сцену, где обнаруживаю некоторые столкновения (пересечения), и я хочу показать прогресс этого столкновения (например, взаимодействие с объектами). Например, вы указываете на переключатель освещения, и есть круг, который заполняется в зависимости от времени, проведенного с помощью переключателя, поэтому свет включается/выключается после некоторого периода таймера.OSG - Создание наложения, всегда на панели отображения рендеринга?
что «начинка cricle/Строка состояния» сохраняется в изображениях 1.png, 2.png ...
//that "filling circle progress" is saved in images
osg::ref_ptr<osg::Image> image1 = osgDB::readImageFile("1.png");
osg::ref_ptr<osg::Texture2D> texture1 = new osg::Texture2D;
texture1->setImage(image1.get());
//create textured quad
osg::ref_ptr<osg::Geometry> quad1 = osg::createTexturedQuadGeometry(osg::Vec3(-0.5f, 0.0f,-0.5f),
osg::Vec3(1.0f,0.0f,0.0f),
osg::Vec3(0.0f,0.0f,1.0f));
osg::StateSet* ss1 = quad1->getOrCreateStateSet();
ss1->setTextureAttributeAndModes(0, texture1.get());
ss1->setMode(GL_BLEND,osg::StateAttribute::ON);
ss1->setRenderingHint(osg::StateSet::TRANSPARENT_BIN);
// I want that the "filling circle" will be always faced toward camera, so I use Billboards
osg::ref_ptr<osg::Billboard> timer1 = new osg::Billboard;
timer1->setMode(osg::Billboard::POINT_ROT_EYE);
timer1->addDrawable(quad1.get());
// I switch between 4 different states - 1/4 of circle, 2/4, 3/4, 4/4..
// thats why I use Switch
osg::Switch* switcher = new osg::Switch;
switcher->addChild(timer1.get(),true);
// just rootNode of scene
rootNode->addChild(switcher);
Таким образом, это прекрасно работает, но проблема в том, что иногда «статусной = заполнение круг «покрывается каким-то другим объектом (на основе буфера глубины, я думаю). Что я должен использовать, чтобы сделать свою строку статуса всегда поверх всего?
Я попытался сделать HUD-камеру, но это не помогло мне (это просто не отображалось), и я не знаю, правильно ли это, как это сделать.
Благодаря
Являются ли «другие объекты», которые покрывают вашу панель состояния полностью непрозрачной или прозрачной/полупрозрачной? –