Made the Professional services subscript optional - use "osglogo ps" to enable

it.
This commit is contained in:
Robert Osfield
2003-02-11 15:54:31 +00:00
parent 2eea610703
commit cdf63f2ca7

View File

@@ -23,6 +23,8 @@
//#include "CreateShadowedScene.h"
static bool s_ProfessionalServices = false;
class MyBillboardTransform : public osg::PositionAttitudeTransform
{
public:
@@ -50,7 +52,7 @@ class MyBillboardTransform : public osg::PositionAttitudeTransform
osg::Vec3 side = _axis^_normal;
side.normalize();
float angle = acos(eyevector*side);
float angle = atan2f(eyevector*_normal,eyevector*side);
billboardRotation.makeRotate(osg::PI_2-angle,_axis);
}
@@ -177,34 +179,9 @@ osg:: Node* createTextLeft(const osg::BoundingBox& bb)
{
osg::Geode* geode = new osg::Geode();
//std::string font("fonts/times.ttf");
std::string font("fonts/arial.ttf");
//osgText::Text* text = new osgText::Text(new osgText::PolygonFont(font,80, 3));
osgText::Text* text = new osgText::Text(new osgText::TextureFont(font,100));
text->setText("OpenSceneGraph");
text->setAlignment(osgText::Text::RIGHT_CENTER);
text->setAxisAlignment(osgText::Text::XZ_PLANE);
text->setPosition(bb.center()-osg::Vec3((bb.xMax()-bb.xMin()),-(bb.yMax()-bb.yMin())*0.5f,(bb.zMax()-bb.zMin())*0.3f));
//text->setColor(osg::Vec4(0.37f,0.48f,0.67f,1.0f)); // Neil's orignal OSG colour
text->setColor(osg::Vec4(0.20f,0.45f,0.60f,1.0f)); // OGL logo colour
osgText::Text* subscript = new osgText::Text(new osgText::TextureFont(font,45));
subscript->setText("Professional Services");
subscript->setAlignment(osgText::Text::RIGHT_CENTER);
subscript->setAxisAlignment(osgText::Text::XZ_PLANE);
subscript->setPosition(bb.center()-osg::Vec3((bb.xMax()-bb.xMin())*3.5f,-(bb.yMax()-bb.yMin())*0.3f,(bb.zMax()-bb.zMin())*0.7f));
subscript->setColor(osg::Vec4(0.0f,0.0f,0.0f,1.0f)); // black
osg::StateSet* stateset = geode->getOrCreateStateSet();
osg::BlendFunc *transp= new osg::BlendFunc();
transp->setFunction(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@@ -214,9 +191,34 @@ osg:: Node* createTextLeft(const osg::BoundingBox& bb)
stateset->setRenderingHint(osg::StateSet::TRANSPARENT_BIN);
//std::string font("fonts/times.ttf");
std::string font("fonts/arial.ttf");
osgText::Text* text = new osgText::Text(new osgText::TextureFont(font,100));
text->setText("OpenSceneGraph");
text->setAlignment(osgText::Text::RIGHT_CENTER);
text->setAxisAlignment(osgText::Text::XZ_PLANE);
text->setPosition(bb.center()-osg::Vec3((bb.xMax()-bb.xMin()),-(bb.yMax()-bb.yMin())*0.5f,(bb.zMax()-bb.zMin())*0.3f));
//text->setColor(osg::Vec4(0.37f,0.48f,0.67f,1.0f)); // Neil's orignal OSG colour
text->setColor(osg::Vec4(0.20f,0.45f,0.60f,1.0f)); // OGL logo colour
geode->addDrawable( text );
geode->addDrawable( subscript );
if (s_ProfessionalServices)
{
osgText::Text* subscript = new osgText::Text(new osgText::TextureFont(font,45));
subscript->setText("Professional Services");
subscript->setAlignment(osgText::Text::RIGHT_CENTER);
subscript->setAxisAlignment(osgText::Text::XZ_PLANE);
subscript->setPosition(bb.center()-osg::Vec3((bb.xMax()-bb.xMin())*3.5f,-(bb.yMax()-bb.yMin())*0.3f,(bb.zMax()-bb.zMin())*0.7f));
subscript->setColor(osg::Vec4(0.0f,0.0f,0.0f,1.0f)); // black
geode->addDrawable( subscript );
}
return geode;
}
@@ -452,6 +454,9 @@ int main( int argc, char **argv )
// parameters that have been matched.
viewer.readCommandLine(commandLine);
if (std::find(commandLine.begin(),commandLine.end(),std::string("ps"))!=commandLine.end()) s_ProfessionalServices = true;
osg::Node* node = createLogo();
// add model to viewer.