D3D简单随笔

1.背面拣选主要是为了减轻渲染的负担,因为裁剪掉背面和未裁剪的图形在摄像机的观察点看来将绘制相同的场景到后备表面。D3D中默认顶点以顺时针方向(在视图空间)形成的三角形为正面,以逆时针形成的三角形是背面。如果我们不想使用默认的拣选状态,我们可以通过改变D3DRS_CULLMODE来设置渲染状态:Device->SetRenderState(D3DRS_CULLMODE,Value); Value可以是:D3DCULL_NONE,D3DCULL_CW,D3DCULL_CCW(这个是默认值,拣选逆时针方向环绕的三角形)。

2.光源定义在世界空间中,不是通过视图空间变换被变换到视图控件中的。

3.视图空间的主要任务就是将3D场景转换为2D图形显示。这种从n维到n-1维的过程就叫做投影。我们只关注透视投影,因为这种投影产生近大远小的效果。投影变换的实质就是定义可视体并将可视体内的几何图形变换到投影窗口上去。投影转换矩阵求解为:
D3DXMATRIX * D3DXMatrixPerspectiveFovLH( D3DXMATRIX *pOut,               
            FLOAT fovy,             
            FLOAT Aspect,               
            FLOAT zn,               
            FLOAT zf);
The return value for this function is the same value returned in the pOut parameter. In this way, the D3DXMatrixPerspectiveFovLH function can be used as a parameter for another function.This function computes the returned matrix as shown:
                 xScale         0              0                 0 
                     0       yScale             0                0
                     0            0           zf/(zf-zn)       1
                     0            0      -zn*zf/(zf-zn)     0
where:yScale = cot(fovY/2) ;        xScale = yScale / aspect ratio.

4.视口变换是将投影窗口变换为屏幕上的一个矩形区域的可靠的变换,这个矩形区域就是我们所说的视口。视口矩形是由他所在的窗口坐标系来描述的。eg:D3DVIEWPORT vp={0,0,1024,768,0,1}; Device->SetViewPort(&vp);

5.光栅化的过程就是计算需要显示的每个三角形中每个点的颜色值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值