( in OF external references) after the OF file is loaded. The change do
conditional
execution of already existing code.
I use this for optimized preprocessing of large databases what can not
be loaded
in one pass because of memory limits."
parent file is so old that it doesn't support Light Point palettes or Shader
palettes, then the parent file is not allowed to override those palettes in
the child."
osgPlugins\pfb\ConvertFromPerformer.cpp
Added support for
PFSTATE_ALPHAFUNC
PFSTATE_ALPHAREF
Improved handling of
PFTR_NO_OCCLUDE
I have tested this with WIN32 performer 3.1 and 3.2.2
and linux OpenGL Performer 3.1.1"
------------------------------------------------
"I found some artifacts on some models and traced it back to the
external palette override feature. There are some changes in the
layout of the external record the loader have to take into
consideration.
The other fix is to remove the OF pools from the user data of the
external ProxyNode when it is no longer needed."
_TYPES_H_. types.h in the directx plugin defines the same include
guard. I've renamed the guard name in this file to _DX_TYPES_H_. Now
the plugin compile in mingw too."
"Previously, the new OpenFlight plugin only allowed ext ref models to use
their own palettes. With this change, parent models can override child model
palettes with the parent palettes.
These changes are made against very current CVS (just updated about 1/2 hour
ago, eliminated conflicts, and retested before this posting).
To regurgitate what I did:
A new class, ParentPools (public osg::Referenced), is created when an ext
ref record is parsed, and it is populated with any parent model pools that
should override the child model pools (according to bits in the ext ref
record). The ParentPools object is then set as UserData on the ProxyNode
corresponding to the ext ref.
When the ReadExternalsVisitor hits the ProxyNode, it takes its UserData and
sets it as UserData in the Options parameter to the osgDB::ReadNode call,
which then read the ext ref model. In the course of parsing the Options
string, ReaderWriterFLT also looks at the Options UserData and sets the
parent pools in the Document class accordingly.
When palette records are encountered while loading a file, they are ignored
if the corresponding pool was set by the parent.
Thanks to Brede for consulting with me on the implementation.
"