X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fscene%2Ftgdb%2FShaderGeometry.hxx;h=30c72fbe0d3092a5f64d278f6d2ab054fcfb5ada;hb=2cc2a857a2cc2daff30601e0f8f697c768dd5b30;hp=9814af28c46bb7da847dca9a3c7cdb94bd0898a9;hpb=8cbe9f1bd0b2fb48480ecd03e817930e8d5a126e;p=simgear.git diff --git a/simgear/scene/tgdb/ShaderGeometry.hxx b/simgear/scene/tgdb/ShaderGeometry.hxx index 9814af28..30c72fbe 100644 --- a/simgear/scene/tgdb/ShaderGeometry.hxx +++ b/simgear/scene/tgdb/ShaderGeometry.hxx @@ -24,6 +24,7 @@ #include +#include #include #include #include @@ -32,23 +33,22 @@ #include #include -#include "TreeBin.hxx" - namespace simgear { class ShaderGeometry : public osg::Drawable { public: - ShaderGeometry() - { - setUseDisplayList(false); + ShaderGeometry() : + varieties(1) + { + setSupportsDisplayList(false); } ShaderGeometry(int v) : varieties(v) - { - setUseDisplayList(false); + { + setSupportsDisplayList(false); } /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ @@ -56,32 +56,26 @@ class ShaderGeometry : public osg::Drawable osg::Drawable(ShaderGeometry,copyop) {} META_Object(flightgear, ShaderGeometry); - - typedef std::vector PositionSizeList; - + virtual void drawImplementation(osg::RenderInfo& renderInfo) const; virtual osg::BoundingBox computeBound() const; - - void setGeometry(osg::Drawable* geometry) + void setGeometry(osg::Geometry* geometry) { _geometry = geometry; } - void addTree(TreeBin::Tree tree) - { - _trees.push_back(tree); - } - - osg::ref_ptr _geometry; + void addObject(const osg::Vec3& position, float scale, int texture_index); + + osg::ref_ptr _geometry; - TreeBin::TreeList _trees; int varieties; + osg::ref_ptr _posScaleArray; + osg::ref_ptr _vertexAttribArray; protected: virtual ~ShaderGeometry() {} - }; }