Используете ли вы osgViewer :: Viewer (просмотрщик с одним файлом / по умолчанию) или osgViewer :: View? Клавиша 't' переключает текстурирование в тех случаях, если osgGA :: StateSetManipulator был добавлен с помощью addEventHandler ().
В конечном итоге вызывается void StateSetManipulator :: setTextureEnabled (bool newtexture) .
Что он делает:
unsigned int mode = osg::StateAttribute::OVERRIDE|osg::StateAttribute::OFF;
for( unsigned int ii=0; ii < 4; ii++ )
{
_stateset->setTextureMode( ii, GL_TEXTURE_1D, mode );
_stateset->setTextureMode( ii, GL_TEXTURE_2D, mode );
_stateset->setTextureMode( ii, GL_TEXTURE_3D, mode );
_stateset->setTextureMode( ii, GL_TEXTURE_RECTANGLE, mode );
_stateset->setTextureMode( ii, GL_TEXTURE_CUBE_MAP, mode);
}
Где * _stateset * - это узел верхнего уровня (например, корневой узел установлен в Viewer / View-> setSceneData () )