我正在尝试OGRE,我想问一个关于OGRE配置对话框的问题。
可以使用Ogre :: Root :: showConfigDialog()打开的对话框,仅为“Direct3D9渲染子系统”和“Direct3D11渲染子系统”的视频模式列出“800 x 600 @ 32位颜色”。
我的问题是,为什么只有800x600x32?有没有办法让它列出更多的视频模式,如1024x768x32,1980x1080x32等?
我尝试了Google搜索,但最接近的是如何在不使用配置对话框的情况下更改视频模式。
任何帮助将不胜感激,谢谢!
编辑:
这是我的OGRE引擎渲染设置对话框截图的链接,因为我没有足够的声誉来上传图像。
http://imgur.com/kNDy48E
答案 0 :(得分:0)
一般情况下:此列表将自动包含所选渲染API驱动程序报告的所有可用视频模式。如果您确定当前的API和驱动程序应该允许更多,则可以调试相应的 _initialise()函数,例如:对于 OgreD3D11RenderSystem.cpp中的D3D11 :
RenderWindow* D3D11RenderSystem::_initialise( bool autoCreateWindow, const String& windowTitle )
在内部,函数D3D11VideoModeList::enumerate()
将用于枚举驱动程序中的所有可能值。
我看到你的GPU使用“NVIDIA Optimus”。您是否试图告诉NVIDIA为您的Ogre应用程序使用正确的GPU?我看到在配置对话框中选择了GTX,但只是为了确保:How to select Optimus GPU。
同样this Optimus policy trick可能有所帮助:
NVIDIA不久前发布了Optimus rendering policies指南。 如果用户具有302或更高的驱动程序,我们可以提示驱动程序使用专用GPU。我们需要做的就是导出一个变量:
extern "C" {
_declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}