Hi Robert,
No need to reproduce, I found the problem. In the overloaded
copy-constructor of my subclass I didn't call Drawable's copy
constructor or copy the state set manually. I reuse a lot of my text
objects so I probably never saw the originals which were the only ones
working w.r.t. depth test and polygon mode. Simple, stupid error, but
glad I found it. Guess those hours of sleep did help after all...better
late than never. Sorry to have taken your time.
Thanks,
Andreas
Robert Osfield wrote:
HI Andreas,
I'm curious about the problem with using your own StateSet. Could you
try modifying osgfadetext to reproduce the problem?
Robert.
On 10/4/06, * Andreas Ekstrand* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Robert,
Actually I don't touch the state set in my subclass, I just apply
a new
state set from outside. So I don't see why using a subclass should
matter in this case. However, I decided to use getOrCreateStateSet
and
just work in the Text's existing state set. This way it works fine.
By the way, I discovered that I have the same problems with overriding
polygon mode to fill, causing the text to disappear if a state set
above
is switched to wireframe. Just a proof of that it is a general
state set
problem and not specific to depth test. Anyway, I get around both the
problems by modifying the existing state set instead of creating
one of
my own.
/Andreas
Robert Osfield wrote:
> Hi Andreas,
>
> osgText::Text does some non standard management osg the attached
> StateSet to cover cases where no StateSet is manually attached,
this
> is done to help state sorting and the approrpriate default
binning of
> osgText::Text. For 1.2 this behavior changed a bit, making it more
> flexible in fact, such that you can now set your own StateSet where
> previously it forcably used StateSet's managed by Font.
>
> I suspect in your subclass you are playing around a bit with the
> StateSet in a way that osgText::Text hasn't kept track off. You
could
> either tweak you subclass to play better with the mechanism in
> osgText::Text, or just attach a StateSet to the Geode above the Text
> drawable.
>
> Robert.
>
> On 10/3/06, *Andreas Ekstrand* < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>> wrote:
>
> Robert,
>
> > Well spotted, I added a ClusterCullingCallback to the text
so the it
> > disappears when it goes round the other side of the
earth. Without
> > this the example looks really odd.
>
> Ok, with the ClusterCullingCallback turned off everything
looks as I
> expected it to.
>
> In my own code I have discovered that everything works fine
if I use
> getOrCreateStateSet on the Text object to turn off depth
test. If I
> create my own state set with depth test turned off and apply
that
> state
> set to my Text, it doesn't work. Even if I first apply my own
> state set
> to the Text object and then use getOrCreateStateSet it doesn't
> work. So
> it seems like I'm replacing an existing state set with one that
> doesn't
> do the job properly. Is it generally a bad idea to replace the
> state set
> directly on an osgText::Text? In your example your state set
is on the
> group above.
>
> Actually I'm using a class of my own, inheriting from
> osgText::Text. If
> I use osgText::Text directly it seems to work. So it's probably
> something fishy with this inheritance, even if my own class
is very
> simplistic, only overriding the constructor and
copy-constructor, both
> calling osgText::Text(). Anyway, I can always use the
> getOrCreateStateSet approach, even if it seems unnecessary.
But I do
> wonder why this is, seems too basic to be a bug somewhere in
osg...
>
> > You cannot see what is not there? Get some sleep!! ;-)
>
> Yeah, sounds serious, doesn't it? :-) Off to get some shut-eye
> right now...
>
> /Andreas
>
> --
>
________________________________________________________________________
> Andreas Ekstrand
> Remograph
> Rekrytgatan 10
> SE-582 14 Linköping
> SWEDEN
> Website: http://www.remograph.com
> E-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
<mailto:[email protected]>
<mailto:[email protected]
<mailto:[email protected]>>
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/ <http://www.openscenegraph.org/ >
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>osg-users mailing list
> [email protected] <mailto:[email protected]>
>http://openscenegraph.net/mailman/listinfo/osg-users
>http://www.openscenegraph.org/ <http://www.openscenegraph.org/>
>
--
________________________________________________________________________
Andreas Ekstrand
Remograph
Rekrytgatan 10
SE-582 14 Linköping
SWEDEN
Website: http://www.remograph.com
E-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
_______________________________________________
osg-users mailing list
[email protected] <mailto:[email protected]>
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/ <http://www.openscenegraph.org/>
------------------------------------------------------------------------
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
--
________________________________________________________________________
Andreas Ekstrand
Remograph
Rekrytgatan 10
SE-582 14 Linköping
SWEDEN
Website: http://www.remograph.com
E-mail: [EMAIL PROTECTED]
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/