#include <boost/functional/hash.hpp>
#include <osg/Object>
+#include <osg/observer_ptr>
#include <osgDB/ReaderWriter>
#include <simgear/props/props.hxx>
const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
osg::StateSet* getDefaultStateSet();
- enum Buffer
- {
- DEPTH_BUFFER,
- NORMAL_BUFFER,
- DIFFUSE_BUFFER,
- SPEC_EMIS_BUFFER,
- LIGHTING_BUFFER,
- MIDDLE_BLOOM_BUFFER,
- BLOOM_BUFFER,
- AO_BUFFER
- };
-
// Define what needs to be generated for this effect
enum Generator
{
bool operator()(const Key& lhs, const Key& rhs) const;
};
};
- typedef std::tr1::unordered_map<Key, osg::ref_ptr<Effect>,
+ typedef std::tr1::unordered_map<Key, osg::observer_ptr<Effect>,
boost::hash<Key>, Key::EqualTo> Cache;
Cache* getCache()
{
Effect* makeEffect(const std::string& name,
bool realizeTechniques,
- const SGReaderWriterOptions* options = 0);
+ const SGReaderWriterOptions* options);
Effect* makeEffect(SGPropertyNode* prop,
bool realizeTechniques,
- const SGReaderWriterOptions* options = 0);
+ const SGReaderWriterOptions* options);
bool makeParametersFromStateSet(SGPropertyNode* paramRoot,
const osg::StateSet* ss);
+void clearEffectCache();
+
namespace effect
{
/**