[osg-submissions] SharedStateManager updated for all DataVariance modes
Terry Welsh
mogumbo at gmail.com
Wed Jul 2 11:22:03 PDT 2008
Looks like it's working fine. Thanks.....
>
> Hi Terry,
>
> Thanks for the changes. I've done a review and found the changes a
> little more complex (in terms of if statment size) so I have changed
> the way that comparisons are done using a
> shareTextures()/shareStateSets() helper function, that wraps up a
> boo[3] vector, one bool for each of DYNAMIC, STATIC and UNSPECIFIED.
> The resulting code is cleaner and hopefully more maintainable with it.
>
> I've checked in my changes, could you do an svn update and let me know
> if these changes work out fine.
>
> Cheers,
> Robert.
>
> On Wed, Jul 2, 2008 at 1:01 AM, Terry Welsh <mogumbo at gmail.com> wrote:
>> It sounded like nobody was opposed to this update, so here is the
>> code. I didn't change the value of SHARE_ALL for the sake of backward
>> compatibility even though it probably should be different. I still
>> consider that possibility open for discussion.
>>
>> Per Robert's suggestion, the default share mode was SHARE_TEXTURES and
>> is now SHARE_STATIC_TEXTURES | SHARE_UNSPECIFIED_TEXTURES. I'm not
>> sure why textures were the default share mode instead of StateSets.
>> Maybe the original author will comment on that? I kept SHARE_TEXTURES
>> equal to SHARE_STATIC_TEXTURES for backward compatibility, and did the
>> same for StateSets.
>>
>> After doing this I think SharedStateManager could be expanded a lot,
>> but I don't know how much it would help performance. For example, you
>> could share individual StateAttributes instead of whole StateSets.
>> More specifically, a StateSet is not equal to another StateSet if only
>> its texture is different. Seems like there would be a lot of
>> opportunities in typical OSG usage to share most attributes in
>> StateSets that only differ by their texture.
>> - Terry
>>
More information about the osg-submissions
mailing list