gtSceneSystem
abstract class : gtRefObject
Класс для управления сценой.
Можно обойтись без него, тогда придётся делать свои frustum cull и т.д.
Методы
gtSceneSystem::addCamera
virtual gtCamera* addCamera( const v4f& position = v4f(), const v4f& target = v4f(), s32 id = -1, bool setActive = true ) = 0;
Добавить виртуальную камеру.
По умолчанию имеет тип Look. Чтобы изменить тип смотрите соответствующий метод.
gtSceneSystem::addCamera2D
Добавить 2D камеру.
Это Free камера с ортогональной проекцией.
gtSceneSystem::addDummy
virtual gtDummy* addDummy( const v4f& position = v4f(), const gtStringA& name = gtStringA(), s32 id = -1 ) = 0;
Добавить объект-пустышку.
Этот объект не отображается. Он имеет матрицу трансформации, и его можно использовать для построения иерархий.
gtSceneSystem::addSprite
virtual gtSprite* addSprite( gtTexture * texture, const v2f& size, const v4f& position = v4f(0.f,0.f,5.f, 0.f), bool asBillboard = false ) = 0;
Добавить 2D плоскость с текстурой.
Камера с типом Camera_2D настроена на показ спрайтов. Но спрайт можно использовать и в 3D измерении.
gtSceneSystem::addStaticObject
virtual gtStaticObject* addStaticObject( gtRenderModel* model, const v4f& position = v4f(), const gtStringA& name = gtStringA(), s32 id = -1 ) = 0;
Добавить не анимированную модель.
gtSceneSystem::clearScene
virtual void clearScene() = 0;
Удаляет все объекты со сцены, которые были добавлены вызовом метода с префиксом `add`.
gtSceneSystem::disableShadows
virtual void disableShadows() = 0;
Выключить тени gtSceneSystem::enableShadows
virtual void enableShadows() = 0;
Включить тени gtSceneSystem::getActiveCamera
virtual gtCamera* getActiveCamera() = 0;
Получить активную камеру.
gtSceneSystem::getDepthMap
virtual gtTexture* getDepthMap( u32 index ) = 0;
Получить depth map от стандартной тени.
Аргумент - значение от 0 до 2.
gtSceneSystem::getRootObject
virtual gtGameObjectCommon* getRootObject() = 0;
Получить корневой объект иерархии сцены.
gtSceneSystem::getSceneState
virtual gtSceneState getSceneState() = 0;
Получить состояние сцены.
gtSceneSystem::getShadowMap
virtual gtTexture* getShadowMap( /*u32 index*/ ) = 0;
Получить shadow map стандартной тени.
gtSceneSystem::getLightProjection
virtual const gtMatrix4& getLightProjection( s32 ) = 0;
Получить проекционную матрицу камеры от стандартной тени.
-1 - light камера.
0 и до количества сплитов/каскадов - проекционные матрицы этих сплитов/каскадов.
gtSceneSystem::getLightView
virtual const gtMatrix4& getLightView() = 0;
Получить видовую матрицу light камеры от стандартной тени.
gtSceneSystem::removeObject
virtual void removeObject( gtGameObject* object ) = 0;
Удалить объект со сцены.
gtSceneSystem::renderScene
virtual void renderScene() = 0;
Нарисовать сцену.
gtSceneSystem::setActiveCamera
virtual void setActiveCamera( gtCamera* camera ) = 0;
Установить активную камеру.
gtSceneSystem::setCurrentRenderDriver
virtual void setCurrentRenderDriver( gtGraphicsSystem * driver ) = 0;
Установить активный render плагин.
Экспериментальная вещь.
|