Clean up of initialization of statics/use of getenv

This commit is contained in:
Robert Osfield
2010-03-11 16:46:01 +00:00
parent 9ab856323d
commit 6c07be375c
4 changed files with 13 additions and 39 deletions

View File

@@ -30,17 +30,22 @@ class RenderBinPrototypeList : osg::depends_on<OpenThreads::Mutex*, osg::Referen
public osg::Referenced, public std::map< std::string, osg::ref_ptr<RenderBin> >
{
public:
RenderBinPrototypeList() {}
RenderBinPrototypeList()
{
add("RenderBin",new RenderBin(RenderBin::getDefaultRenderBinSortMode()));
add("StateSortedBin",new RenderBin(RenderBin::SORT_BY_STATE));
add("DepthSortedBin",new RenderBin(RenderBin::SORT_BACK_TO_FRONT));
add("TraversalOrderBin",new RenderBin(RenderBin::TRAVERSAL_ORDER));
}
void add(const std::string& name, RenderBin* bin)
{
(*this)[name] = bin;
}
~RenderBinPrototypeList() {}
};
// register a RenderStage prototype with the RenderBin prototype list.
RegisterRenderBinProxy s_registerRenderBinProxy("RenderBin",new RenderBin(RenderBin::getDefaultRenderBinSortMode()));
RegisterRenderBinProxy s_registerStateSortedBinProxy("StateSortedBin",new RenderBin(RenderBin::SORT_BY_STATE));
RegisterRenderBinProxy s_registerDepthSortedBinProxy("DepthSortedBin",new RenderBin(RenderBin::SORT_BACK_TO_FRONT));
RegisterRenderBinProxy s_registerTraversalOrderProxy("TraversalOrderBin",new RenderBin(RenderBin::TRAVERSAL_ORDER));
static RenderBinPrototypeList* renderBinPrototypeList()
{
static osg::ref_ptr<RenderBinPrototypeList> s_renderBinPrototypeList = new RenderBinPrototypeList;