ShaderGen 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2009 Robert Osfield
  2. *
  3. * This library is open source and may be redistributed and/or modified under
  4. * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
  5. * (at your option) any later version. The full license is in LICENSE file
  6. * included with this distribution, and on the openscenegraph.org website.
  7. *
  8. * This library is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * OpenSceneGraph Public License for more details.
  12. */
  13. /**
  14. * \brief Shader generator framework.
  15. * \author Maciej Krol
  16. */
  17. #ifndef OSGUTIL_SHADER_STATE_
  18. #define OSGUTIL_SHADER_STATE_ 1
  19. #include <osgUtil/Export>
  20. #include <osg/NodeVisitor>
  21. #include <osg/State>
  22. namespace osgUtil
  23. {
  24. class OSGUTIL_EXPORT ShaderGenVisitor : public osg::NodeVisitor
  25. {
  26. public:
  27. ShaderGenVisitor();
  28. /// assign default uber program to specified StateSet - typically the root node of the scene graph or the view's Camera
  29. void assignUberProgram(osg::StateSet *stateSet);
  30. void apply(osg::Node& node);
  31. void remapStateSet(osg::StateSet* stateSet);
  32. protected:
  33. };
  34. }
  35. #endif