DirectX - 如何禁用视口转换

时间:2015-09-03 11:07:40

标签: directx viewport directx-11

有没有办法在DirectX 11中完全禁用视口转换,或者至少定义一个自定义的ScreenSpace-to-PixelSpace转换?

P.S:

我已经读过,在较旧的DX版本中,曾经有像

这样的东西
pDevice->SetRenderState( D3DRS_VIEWPORTENABLE, FALSE );

但我找不到任何关于MSDN的信息。

背景:

我有一个物理相机,我知道这个相机的视图矩阵和投影矩阵,它从视图空间一直转换到像素空间。 现在,我想通过在DirectX中重复使用相同的矩阵来模拟相机图像。

1 个答案:

答案 0 :(得分:-1)

没有像:

pDevice->SetRenderState( D3DRS_VIEWPORTENABLE, FALSE );

但是,视口变换可以表示为矩阵。我们称之为V. 将矩阵逆(V)附加到变换管道。 这将取消'视口变换。 e.g。

(model-to-world) * (world-to-view) * (projection) * inverse(V)