make TopMenuBar look a little bit more accurate
This commit is contained in:
parent
ca4f430a53
commit
611f0e8d0f
|
|
@ -9,46 +9,88 @@ namespace RNR
|
||||||
|
|
||||||
Ogre::OverlayManager* overlayManager = Ogre::OverlayManager::getSingletonPtr();
|
Ogre::OverlayManager* overlayManager = Ogre::OverlayManager::getSingletonPtr();
|
||||||
Ogre::MaterialPtr material = Ogre::MaterialManager::getSingleton().create("Background", "General");
|
Ogre::MaterialPtr material = Ogre::MaterialManager::getSingleton().create("Background", "General");
|
||||||
material->getTechnique(0)->getPass(0)->createTextureUnitState("placeholder.png");
|
material->getTechnique(0)->getPass(0)->createTextureUnitState("textures/placeholder.png");
|
||||||
|
material->getTechnique(0)->getPass(0)->getTextureUnitState(0)->setColourOperationEx(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, Ogre::ColourValue(0.5, 0.5, 0.5));
|
||||||
material->getTechnique(0)->getPass(0)->getTextureUnitState(0)->setAlphaOperation(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, 0.5f);
|
material->getTechnique(0)->getPass(0)->getTextureUnitState(0)->setAlphaOperation(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, 0.5f);
|
||||||
material->getTechnique(0)->getPass(0)->getTextureUnitState(0)->setColourOperationEx(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, Ogre::ColourValue(1.0, 1.0, 1.0));
|
|
||||||
material->getTechnique(0)->getPass(0)->setDepthCheckEnabled(false);
|
material->getTechnique(0)->getPass(0)->setDepthCheckEnabled(false);
|
||||||
material->getTechnique(0)->getPass(0)->setDepthWriteEnabled(false);
|
material->getTechnique(0)->getPass(0)->setDepthWriteEnabled(false);
|
||||||
material->getTechnique(0)->getPass(0)->setLightingEnabled(false);
|
material->getTechnique(0)->getPass(0)->setLightingEnabled(false);
|
||||||
|
material->getTechnique(0)->getPass(0)->setSceneBlending(Ogre::SceneBlendType::SBT_TRANSPARENT_COLOUR);
|
||||||
|
|
||||||
Ogre::OverlayContainer* panel = static_cast<Ogre::OverlayContainer*>(overlayManager->createOverlayElement("Panel", "PanelName"));
|
Ogre::OverlayContainer* panel = static_cast<Ogre::OverlayContainer*>(overlayManager->createOverlayElement("Panel", "TopMenuBarPanel"));
|
||||||
panel->setMetricsMode(Ogre::GMM_PIXELS);
|
panel->setMetricsMode(Ogre::GMM_PIXELS);
|
||||||
panel->setPosition(0,0);
|
panel->setPosition(0,0);
|
||||||
panel->setDimensions(320, 24);
|
panel->setDimensions(128 * 5, 20);
|
||||||
panel->setMaterial(material);
|
panel->setMaterial(material);
|
||||||
|
|
||||||
Ogre::TextAreaOverlayElement* textArea = static_cast<Ogre::TextAreaOverlayElement*>(overlayManager->createOverlayElement("TextArea", "TextAreaName"));
|
Ogre::ColourValue text_color = Ogre::ColourValue(0.25, 0.25, 0.25);
|
||||||
textArea->setMetricsMode(Ogre::GMM_PIXELS);
|
|
||||||
textArea->setPosition(0, 0);
|
Ogre::TextAreaOverlayElement* toolsTextArea = static_cast<Ogre::TextAreaOverlayElement*>(overlayManager->createOverlayElement("TextArea", "TopMenuBarTools"));
|
||||||
textArea->setDimensions(320, 24);
|
toolsTextArea->setMetricsMode(Ogre::GMM_PIXELS);
|
||||||
textArea->setCaption("Hello, World!");
|
toolsTextArea->setPosition(0, 0);
|
||||||
textArea->setCharHeight(24);
|
toolsTextArea->setDimensions(128, 24);
|
||||||
textArea->setFontName("ComicSans");
|
toolsTextArea->setCaption("Tools");
|
||||||
textArea->setColour(Ogre::ColourValue(0.f,0.f,0.f));
|
toolsTextArea->setCharHeight(24);
|
||||||
|
toolsTextArea->setFontName("ComicSans");
|
||||||
|
toolsTextArea->setColour(text_color);
|
||||||
|
|
||||||
|
Ogre::TextAreaOverlayElement* insertTextArea = static_cast<Ogre::TextAreaOverlayElement*>(overlayManager->createOverlayElement("TextArea", "TopMenuBarInsert"));
|
||||||
|
insertTextArea->setMetricsMode(Ogre::GMM_PIXELS);
|
||||||
|
insertTextArea->setPosition(128, 0);
|
||||||
|
insertTextArea->setDimensions(128, 24);
|
||||||
|
insertTextArea->setCaption("Insert");
|
||||||
|
insertTextArea->setCharHeight(24);
|
||||||
|
insertTextArea->setFontName("ComicSans");
|
||||||
|
insertTextArea->setColour(text_color);
|
||||||
|
|
||||||
|
Ogre::TextAreaOverlayElement* fullscreenTextArea = static_cast<Ogre::TextAreaOverlayElement*>(overlayManager->createOverlayElement("TextArea", "TopMenuBarFullscreen"));
|
||||||
|
fullscreenTextArea->setMetricsMode(Ogre::GMM_PIXELS);
|
||||||
|
fullscreenTextArea->setPosition(128*2, 0);
|
||||||
|
fullscreenTextArea->setDimensions(128, 24);
|
||||||
|
fullscreenTextArea->setCaption("Fullscreen");
|
||||||
|
fullscreenTextArea->setCharHeight(24);
|
||||||
|
fullscreenTextArea->setFontName("ComicSans");
|
||||||
|
fullscreenTextArea->setColour(text_color);
|
||||||
|
|
||||||
|
Ogre::TextAreaOverlayElement* helpTextArea = static_cast<Ogre::TextAreaOverlayElement*>(overlayManager->createOverlayElement("TextArea", "TopMenuBarHelp"));
|
||||||
|
helpTextArea->setMetricsMode(Ogre::GMM_PIXELS);
|
||||||
|
helpTextArea->setPosition(128*3, 0);
|
||||||
|
helpTextArea->setDimensions(128, 24);
|
||||||
|
helpTextArea->setCaption("Help...");
|
||||||
|
helpTextArea->setCharHeight(24);
|
||||||
|
helpTextArea->setFontName("ComicSans");
|
||||||
|
helpTextArea->setColour(text_color);
|
||||||
|
|
||||||
|
Ogre::TextAreaOverlayElement* exitTextArea = static_cast<Ogre::TextAreaOverlayElement*>(overlayManager->createOverlayElement("TextArea", "TopMenuBarExit"));
|
||||||
|
exitTextArea->setMetricsMode(Ogre::GMM_PIXELS);
|
||||||
|
exitTextArea->setPosition(128*4, 0);
|
||||||
|
exitTextArea->setDimensions(128, 24);
|
||||||
|
exitTextArea->setCaption("Exit");
|
||||||
|
exitTextArea->setCharHeight(24);
|
||||||
|
exitTextArea->setFontName("ComicSans");
|
||||||
|
exitTextArea->setColour(text_color);
|
||||||
|
|
||||||
|
panel->addChild(toolsTextArea);
|
||||||
|
panel->addChild(insertTextArea);
|
||||||
|
panel->addChild(fullscreenTextArea);
|
||||||
|
panel->addChild(helpTextArea);
|
||||||
|
panel->addChild(exitTextArea);
|
||||||
|
|
||||||
m_debugText = static_cast<Ogre::TextAreaOverlayElement*>(overlayManager->createOverlayElement("TextArea", "DebugTextArea"));
|
m_debugText = static_cast<Ogre::TextAreaOverlayElement*>(overlayManager->createOverlayElement("TextArea", "DebugTextArea"));
|
||||||
m_debugText->setMetricsMode(Ogre::GMM_PIXELS);
|
m_debugText->setMetricsMode(Ogre::GMM_PIXELS);
|
||||||
m_debugText->setPosition(0, 300);
|
m_debugText->setPosition(0, 300);
|
||||||
m_debugText->setDimensions(420, 500);
|
m_debugText->setDimensions(420, 500);
|
||||||
m_debugText->setCaption("Debug text!");
|
m_debugText->setCaption("Debug text!");
|
||||||
m_debugText->setCharHeight(24);
|
m_debugText->setCharHeight(16);
|
||||||
m_debugText->setFontName("ComicSans");
|
m_debugText->setFontName("ComicSans");
|
||||||
m_debugText->setColour(Ogre::ColourValue(0.5f,0.f,0.5f));
|
m_debugText->setColour(Ogre::ColourValue(0.5f,0.f,0.5f));
|
||||||
|
|
||||||
|
panel->addChild(m_debugText);
|
||||||
|
|
||||||
Ogre::Overlay* overlay = overlayManager->create("OverlayName");
|
Ogre::Overlay* overlay = overlayManager->create("OverlayName");
|
||||||
overlay->add2D(panel);
|
overlay->add2D(panel);
|
||||||
overlay->setZOrder(500);
|
overlay->setZOrder(500);
|
||||||
|
|
||||||
panel->addChild(textArea);
|
|
||||||
|
|
||||||
panel->addChild(m_debugText);
|
|
||||||
|
|
||||||
overlay->show();
|
overlay->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ namespace RNR
|
||||||
Ogre::Entity* entity = (Ogre::Entity*)getObject();
|
Ogre::Entity* entity = (Ogre::Entity*)getObject();
|
||||||
for(auto& subentity : entity->getSubEntities())
|
for(auto& subentity : entity->getSubEntities())
|
||||||
{
|
{
|
||||||
subentity->getMaterial()->setManualCullingMode(Ogre::ManualCullingMode::MANUAL_CULL_BACK);
|
subentity->setMaterial(BrickColor::material(m_brickColor));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,8 @@ namespace RNR
|
||||||
{
|
{
|
||||||
case BATCH_INSTANCED:
|
case BATCH_INSTANCED:
|
||||||
{
|
{
|
||||||
Ogre::InstancedEntity* replica = m_instanceManager->createInstancedEntity("materials/partinstanced");
|
Ogre::Entity* childEntity = (Ogre::Entity*)childAdded->getObject();
|
||||||
|
Ogre::InstancedEntity* replica = m_instanceManager->createInstancedEntity(childEntity->getSubEntity(0)->getMaterialName());
|
||||||
replica->setPosition(part->getPosition());
|
replica->setPosition(part->getPosition());
|
||||||
replica->setOrientation(part->getCFrame().getRotation());
|
replica->setOrientation(part->getCFrame().getRotation());
|
||||||
replica->setScale(part->getSize());
|
replica->setScale(part->getSize());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue