`
hereson
  • 浏览: 1451305 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

D3DXMatrixPerspectiveFovLH 函数

阅读更多
创建一个左手坐标系的透视投影矩阵。

定义:

D3DXMATRIX *WINAPI D3DXMatrixPerspectiveFovLH(     

    D3DXMATRIX *pOut,    FLOAT fovy,    FLOAT Aspect,    FLOAT zn,    FLOAT zf);参数:

pOut

[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。

fovy

[in] 观察时y 轴方向的角度(弧度),就是观察范围夹角。

Aspect

[in] 纵横比,在视空间宽度除以高度。

zn

[in] 近裁剪面位置Z值。

zf

[in] 远裁剪面位置Z值。

返回值:

指向D3DXMATRIX 结构的左手坐标系透视投影矩阵。



说明:

函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixPerspectiveFovLH 作为其它函数的参数使用。

用下面的方法来计算左手坐标系透视投影矩阵:

xScale     0          0               00        yScale       0               00          0       zf/(zf-zn)         10          0       -zn*zf/(zf-zn)     0其中:yScale = cot(fovY/2) xScale = aspect ratio * yScale函数信息:

Header
d3dx9math.h

Import library
d3dx9.lib

Minimum operating systems
Windows 98


相关函数:

D3DXMatrixPerspectiveRH, D3DXMatrixPerspectiveLH, D3DXMatrixPerspectiveFovRH, D3DXMatrixPerspectiveOffCenterRH, D3DXMatrixPerspectiveOffCenterLH

分享到:
评论

相关推荐

    透视矩阵 directx 有注释 c++

    在DirectX中,我们可以使用D3DXMatrixPerspectiveFovLH函数来生成一个透视矩阵。这个函数接受水平视野角度(Field of View,FOV)、宽高比(Aspect Ratio,Width/Height)、近裁剪面和远裁剪面作为参数。水平FOV通常...

    directx绘制流水线&绘制简单图形

    我们可以使用 D3DXMatrixPerspectiveFovLH 函数来实现投影。 绘制准备工作 在绘制之前,我们需要进行准备工作,包括指定数据流输入源、设置顶点格式、设置索引缓存等步骤。 创建顶点缓存和索引缓存 我们可以使用...

    Direct3D-camera.rar_DirextX编程_Visual_C++_

    例如,D3DXMatrixLookAtLH函数可以生成视图矩阵,D3DXMatrixPerspectiveFovLH函数可以生成透视投影矩阵。 在处理用户输入时,例如键盘和鼠标,我们会监听特定的按键或鼠标移动事件来调整相机的状态。例如,按下W键...

    d3d9_hook.zip

    在Direct3D 9中,可以通过设置投影矩阵来实现透视投影,常用的方法是`D3DXMatrixPerspectiveFovLH`函数,它根据视场角、屏幕比例、近裁剪面和远裁剪面来构建透视矩阵。 函数挂钩(Function Hooking)是一种技术,...

    DirectX函数大全

    D3DXMatrixPerspectiveFovLH(&projMatrix, D3DX_PI / 4, (float)screenWidth / screenHeight, 0.1f, 100.0f); device->SetTransform(D3DTS_VIEW, &viewMatrix); device->SetTransform(D3DTS_PROJECTION, &projMatrix...

    dx9透视类型应用

    在DX9中,我们通常使用`D3DXMatrixPerspectiveFovLH`函数来创建一个透视投影矩阵。这个函数接受四个参数:视场角(Field of View, FOV)、屏幕的宽高比、近裁剪平面距离和远裁剪平面距离。FOV定义了观察者视野的宽度...

    D3D透视投影矩阵推导

    D3D提供了函数`D3DXMatrixPerspectiveFovLH`来创建一个左手法则下的透视投影矩阵,其原型为: ```cpp D3DXMATRIX*D3DXMatrixPerspectiveFovLH( D3DXMATRIX *pOut, // 输出矩阵 FLOAT fovy, // 视野角 FLOAT ...

    light_material

    - 使用`D3DXMatrixPerspectiveFovLH`函数来设置投影矩阵。该函数接收视野角度、宽高比、近裁剪面距离和远裁剪面距离作为参数。 - `g_pd3dDevice->SetTransform(D3DTS_PROJECTION, &matProj)`设置投影变换。 ```cpp ...

    D3D顶点索引绘制椎体并进行纹理贴图

    投影变换通常是通过设置D3DDevice的Projection矩阵,比如使用D3DXMatrixPerspectiveFovLH来创建一个透视投影矩阵。取景变换则是通过View矩阵,它描述了相机在场景中的位置和朝向。这些变换矩阵会应用到顶点的坐标上...

    Direct3D 坐标转换

    在Direct3D中,可以使用`D3DXMatrixOrthoLH`和`D3DXMatrixPerspectiveFovLH`函数来创建相应的投影矩阵。 最后,经过投影变换后,顶点坐标会进入所谓的裁剪空间,Direct3D的**光栅化阶段**会将这些坐标转换为设备...

    light_material_2

    D3DXMatrixPerspectiveFovLH(&matProj, D3DX_PI / 4, 1.0f, 1.0f, 100.0f); g_pd3dDevice->SetTransform(D3DTS_PROJECTION, &matProj); ``` #### 6. 初始化Direct3D `HRESULT InitD3D(HWND hWnd)` 函数初始化...

    Direct3D9 初级教程

    - **投影矩阵**: 通过D3DXMatrixPerspectiveFovLH或D3DXMatrixOrthoLH生成投影矩阵,转换3D坐标到2D屏幕坐标。 7. **渲染循环** - 渲染循环是Direct3D应用程序的核心部分,包括清除设备、绘制3D对象、交换缓冲等...

    Matrices.rar

    在Direct3D中,开发者通常使用`D3DXMatrixPerspectiveFovLH`函数来创建一个透视投影矩阵。这个函数需要四个参数:视场角、屏幕纵横比、近裁剪面和远裁剪面。这些参数决定了观察者的视野范围、图像的比例以及哪些距离...

    我写的一个direct3d demo

    可能使用了`D3DXMatrixPerspectiveFovLH`或`D3DXMatrixOrthoLH`函数来创建投影矩阵。 5. **光照与材质**:Direct3D支持多种光照模型,如环境光、漫反射、镜面高光等。材质参数则影响物体表面的色彩和反射特性。 6....

    观看的新视角

    Direct3D中,视角通常通过`D3DXMatrixPerspectiveFovLH`或`D3DXMatrixPerspectiveFovRH`函数来创建透视投影矩阵。这些函数也接受类似的参数,不过Direct3D更倾向于使用右手法则,与OpenGL的左手坐标系有所区别。 ...

Global site tag (gtag.js) - Google Analytics