Hi Robert,

I have already looked at the example(s) on osgText (both comes with source
code and in tutorials on the net), but could not find anything. The weird
thing is it is a quite easy task, but I have no result. I use
OpenSceneGraphversion 3.1.2 and Visual Studio 2010 on Windows
XP. Is there any bug report or a tricky part should I know?

Cheers,
Deniz


On Fri, Oct 18, 2013 at 6:20 PM, Robert Osfield <[email protected]>wrote:

> HI Deniz,
>
> On quick review I couldn't spot the problem, but have a look at the
> osgtext example, it has code for placing text on a HUD and should be
> roughly what you are after.
>
> Robert.
>
>
> On 18 October 2013 16:04, Deniz Koçak <[email protected]> wrote:
>
>> Hi all,
>>
>> I am trying to put a text on my screen by creating a HUD camera. I create
>> a camera object and add nodes to it (as in HUD examples). However, when I
>> select XY_PLANE or SCREEN as AxisAlignment for osgText::Text object, it
>> dows not show anything, but works (no really works, but I can see rotated
>> text) with REVERSED_XY_PLANE. When I select REVERSED_XY_PLANE, the result
>> can be seen on attached screenshot and of course this not what I want. I
>> tried many combinations, but the result was always same. What can I do in
>> that case?
>>
>> Cheers,
>> Deniz
>>
>>
>> ---------------------------------------------------------------------------------------------
>>
>> osg::Camera* createHUDText()
>> {
>>    m_hudHeadingText = new osgText::Text();
>>     m_hudHeadingText->setText("Test");
>>     //m_hudHeadingText->setFont(osgText::Font::getDefaultFont());
>>
>> m_hudHeadingText->setCharacterSizeMode(osgText::TextBase::OBJECT_COORDS);
>>     m_hudHeadingText->setAlignment(osgText::TextBase::LEFT_BASE_LINE);
>>       m_hudHeadingText->setAxisAlignment(osgText::TextBase::XY_PLANE);
>>     //m_hudHeadingText->setAutoRotateToScreen(true);
>>     //m_hudHeadingText->setColor( osg::Vec4(1.0, 1.0, 1.0, 1.0) );
>>     m_hudHeadingText->setCharacterSize(24);
>>     m_hudHeadingText->setPosition( osg::Vec3(100.0f, 100.0f, -1.0f) );
>>
>>     osg::Geode* textGeode = new osg::Geode();
>>     textGeode->getOrCreateStateSet()->setMode(GL_DEPTH_TEST,
>> osg::StateAttribute::OFF);
>>     textGeode->getOrCreateStateSet()->setMode(GL_LIGHTING,
>> osg::StateAttribute::OFF | osg::StateAttribute::PROTECTED);
>>
>>     osg::MatrixTransform* textTransform = new osg::MatrixTransform;
>>     osg::Matrix* textMatrix = new GMatrix;
>>     //textTransform->setMatrix(osg::Matrix::translate(osg::Vec3d(300,
>> 300, 0)));
>>     textTransform->setMatrix(osg::Matrix::identity());
>>     textTransform->addChild(textGeode);
>>
>> //////////////////////////////////////////////////////////////////////////
>>
>>     m_hudTransformable = new osg::Camera();
>>     m_hudTransformable->setReferenceFrame(GCamera::ABSOLUTE_RF);
>>     m_hudTransformable->setAllowEventFocus(false);
>>     m_hudTransformable->setRenderOrder(GCamera::POST_RENDER, 3);
>>     m_hudTransformable->setProjectionMatrixAsOrtho2D(0.0, 500.0, 0.0,
>> 500.0);
>>     m_hudTransformable->setViewport(0.0, 0.0, 500, 500);
>>     m_hudTransformable->setClearMask(GL_DEPTH_BUFFER_BIT);
>>     m_hudTransformable->setViewMatrix(GMatrix::identity());
>>     m_hudTransformable->getOrCreateStateSet()->setMode(GL_LIGHTING,
>> osg::StateAttribute::OFF | osg::StateAttribute::PROTECTED);
>>     m_hudTransformable->addChild(textTransform);
>>
>>     return m_hudTransformable.get();
>> }
>>
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to