我想知道调整DirectX控件大小的标准方法。控件中显示了一个模型,我想在调整大小后它的大小相同,只有更多的环境可见。
我设法通过重置视口和交换链缓冲区来实现,但我也可以采用另一种方式(移动相机),也许还有其他我没有想到的。我只是不知道哪个是最好的"办法。
答案 0 :(得分:1)
更改视口大小应仅显示“更多”的查看区域,以改变宽高比。例如,如果视口的宽度和高度加倍,则纵横比将相同,因此将显示相同的图像,只是更大。
相反,移动相机会改变观看量,例如如果您将相机移回,您会看到更多。但是,这可能不是您想要的。您正在将相机移动到另一个位置,而不是简单地更改视图属性。
您可能正在寻找的是更改相机投影属性,这可能是使用“PerspectiveFovLH”完成的,其输入为:(“视野”,“纵横比”,“z近平面” ,“z远飞机”)。扩大视野(FOV)将允许您查看更多场景。更改宽高比将适当缩放。通常,纵横比应该是屏幕宽度和高度之间的比率,如果您希望更大的屏幕显示更多整体,请按照屏幕重新调整大小的量来缩放FOV。