void SomePointsGenerator::drawImplementation( osg::RenderInfo& renderInfo ) const { //get output buffer unsigned int contextID = renderInfo.getState()->getContextID(); GLuint ubuff= genbuffer->getOrCreateGLBufferObject(contextID)->getGLObjectID(); osg::GLExtensions* ext = renderInfo.getState()->get<osg::GLExtensions>(); ext->glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0,ubuff); glEnable(GL_RASTERIZER_DISCARD); ext->glBeginTransformFeedback(GL_POINTS); osg::Geometry::drawImplementation( renderInfo ); ext->glEndTransformFeedback(); glDisable(GL_RASTERIZER_DISCARD); ext->glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, 0); }