Hello,

a clever guy solved my problem. He said I must set the environment variable 
LC_NUMERIC to "C", but we don't know why. Maybe, GTK set the LC_NUMERIC on an 
inappropriate value.

I changed the following part and now it works fine, although the oldloc get the 
value "C" and I set LC_NUMERIC on "C". (???)

[...]
if(da.createWidget(640, 480))
{                               
        if(argc >= 2)
        {
            const char* oldloc = setlocale(LC_NUMERIC,"C"); // new
            osg::ref_ptr<osg::Node> model = osgDB::readNodeFile(argv[1]);
            setlocale(LC_NUMERIC,oldloc); // new

            if(model.valid()) da.setSceneData(model.get());
        }
[...]


And this following message came from GL2Extensions.cpp

> With GTK:
> glVersion=2, isGlslSupported=YES, glslLanguageVersion=1
> 
> 
> Without GTK:
> glVersion=2.1, isGlslSupported=YES, glslLanguageVersion=1.2 

The problem is here the point ("."). The function atof() can not convert the 
string to the right float. See line 328 and line 344 in GL2Extensions.cpp.

(328) _glVersion = atof( version );
(344) _glslLanguageVersion = atof( langVerStr );

I hope it is a helpful knowledge.

Cheers,

Martin
-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to