virtual void dispatch(osg::State& state, const osg::Array* new_array) { VAS_NOTICE<<" TexCoordArrayDispatch::dispatch("<<new_array->getNumElements()<<") unit="<<unit<<std::endl; state.setClientActiveTextureUnit(unit); glTexCoordPointer(new_array->getDataSize(), new_array->getDataType(), 0, new_array->getDataPointer()); }
virtual void dispatch(osg::State& state, const osg::Array* new_array, const osg::GLBufferObject* vbo) { VAS_NOTICE<<" TexCoordArrayDispatch::dispatch("<<new_array->getNumElements()<<", vbo="<<std::hex<<vbo<<std::dec<<") unit="<<unit<<std::endl; state.setClientActiveTextureUnit(unit); glTexCoordPointer(new_array->getDataSize(), new_array->getDataType(), 0, (const GLvoid *)(vbo->getOffset(new_array->getBufferIndex()))); }
virtual void disable(osg::State& state) { VAS_NOTICE<<" TexCoordArrayDispatch::disable() unit="<<unit<<std::endl; //state.glClientActiveTexture(static_cast<GLenum>(GL_TEXTURE0+unit)); state.setClientActiveTextureUnit(unit); glDisableClientState(GL_TEXTURE_COORD_ARRAY); }
virtual void dispatch(osg::State& state, GLint size, GLenum type, GLsizei stride, const GLvoid *ptr, GLboolean /*normalized*/) { state.setClientActiveTextureUnit(unit); glTexCoordPointer(size, type, stride, ptr); }
virtual void enable_and_dispatch(osg::State& state, GLint size, GLenum type, GLsizei stride, const GLvoid *ptr, GLboolean /*normalized*/) { state.setClientActiveTextureUnit(unit); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glTexCoordPointer(size, type, stride, ptr); }