2015-02-15 4 views
0

Я пытаюсь использовать OGRE, и я хотел бы задать вопрос об диалоге конфигурации OGRE.
Видеорежим в OGRE Engine Rendering Setup

Диалог, который можно открыть с помощью Ogre :: Root :: showConfigDialog(), отображает только «800 x 600 @ 32-битный цвет» для видеорежима, как для «Подсистемы рендеринга Direct3D9», так и для подсистемы рендеринга Direct3D11 ».

Мой вопрос: почему существует только 800x600x32? Есть ли способ сделать это перечислить больше видеорежимов, например 1024x768x32, 1980x1080x32 и т. Д.?

Я пробовал поиск в Google, но самое близкое, что я получил, это то, как изменить видеорежим без использования диалогового окна конфигурации.

Любая помощь будет оценена, спасибо!

EDIT:
Вот ссылка на мой скриншот Rendering диалога настройки OGRE двигателя, так как я не хватает репутации для загрузки изображений.
http://imgur.com/kNDy48E

+0

Какую версию Ogre вы используете? –

+0

@PhilipAllgaier Я использую OGRE 1.8.1 на VS2012. – JamesAMD

+0

Старая версия Ogre не должна играть роли в вашем случае. Но я увидел что-то другое и обновил свой ответ. –

ответ

0

В целом: этот список будет автоматически содержать все доступные видеорежимы, переданные выбранными API-интерфейсами API рендеринга. Если вы уверены, что ваш текущий API и драйверы должны позволить больше, вы можете отладить функцию _initialise(), например. для D3D11 в OgreD3D11RenderSystem.cpp:

RenderWindow* D3D11RenderSystem::_initialise(bool autoCreateWindow, const String& windowTitle) 

Внутри функция D3D11VideoModeList::enumerate() будет использоваться, чтобы перечислить все возможные значения от водителя.


Я видел, что ваш GPU использует «NVIDIA Optimus». Вы пытались сказать NVIDIA использовать правильный графический процессор для вашего приложения Ogre? Я видел, что в диалоговом окне конфигурации выбран GTX, но просто чтобы убедиться: How to select Optimus GPU.

Также this Optimus policy trick может помочь:

NVIDIA выпустила Optimus rendering policies принципы не так давно. Если у пользователя есть драйвер 302 или выше, мы можем указать драйверу использовать выделенный графический процессор. Все, что нам нужно сделать, это экспортировать переменную:

extern "C" { 
    _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001; 
} 
+0

Спасибо за ответ! Как я могу проверить, поддерживает ли мой текущий API и драйверы больше видеорежимов? Если моя графическая карта (GeForce GTX680M) поддерживает другие разрешения, не означает ли это, что API и драйверы поддерживают эти режимы? Заранее спасибо! – JamesAMD

+0

Я бы очень ожидал этого (и никогда не слышал о каких-либо проблемах в этом отношении на наших форумах). Вы дважды проверяли, что вы определенно не можете изменить разрешение 800x600 в диалоговом окне конфигурации? Просто чтобы убедиться: для каждой системы рендеринга, которую вы можете выбрать в главном выпадающем списке, вы можете настроить конкретные настройки в сетке свойств ниже. –

+0

Я ценю ваш ответ! Я редактировал свой вопрос, чтобы включить ссылку на мой скриншот. Значение по умолчанию - 800x600x32, а в раскрывающемся списке ничего нет. – JamesAMD