游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2416|回复: 4

??frustum?????????????

[复制链接]

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2011-7-27 18:48:00 | 显示全部楼层 |阅读模式
??planeExtraction.pdf?Directx??????

D3DXMATRIX WorldMatrix;
        D3DXMATRIX ViewMatrix;
        D3DXMATRIX ProjectMatrix;
        pD3DDevice->GetTransform( D3DTS_WORLD, &WorldMatrix );
        pD3DDevice->GetTransform( D3DTS_VIEW, &ViewMatrix );
        pD3DDevice->GetTransform( D3DTS_PROJECTION, &amprojectMatrix );

        D3DXMATRIX ComboMatrix;
        D3DXMatrixMultiply(&ComboMatrix, &WorldMatrix, &ViewMatrix);
        D3DXMatrixMultiply(&ComboMatrix, &ComboMatrix, &ProjectMatrix);
        //D3DXMatrixMultiply(&ComboMatrix, &ViewMatrix, &ProjectMatrix);

        // right clipping plane
        frustum[0][0] = ComboMatrix._14 - ComboMatrix._11;
        frustum[0][1] = ComboMatrix._24 - ComboMatrix._21;
        frustum[0][2] = ComboMatrix._34 - ComboMatrix._31;
        frustum[0][3] = ComboMatrix._44 - ComboMatrix._41;

        NormalizePlane(frustum, 0);

        // left clipping plane
        frustum[1][0] = ComboMatrix._14 + ComboMatrix._11;
        frustum[1][1] = ComboMatrix._24 + ComboMatrix._21;
        frustum[1][2] = ComboMatrix._34 + ComboMatrix._31;
        frustum[1][3] = ComboMatrix._44 + ComboMatrix._41;

        NormalizePlane(frustum, 1);

        // bottom clipping plane
        frustum[2][0] = ComboMatrix._14 + ComboMatrix._12;
        frustum[2][1] = ComboMatrix._24 + ComboMatrix._22;
        frustum[2][2] = ComboMatrix._34 + ComboMatrix._32;
        frustum[2][3] = ComboMatrix._44 + ComboMatrix._42;

        NormalizePlane(frustum, 2);

        // top clipping plane
        frustum[3][0] = ComboMatrix._14 - ComboMatrix._12;
        frustum[3][1] = ComboMatrix._24 - ComboMatrix._22;
        frustum[3][2] = ComboMatrix._34 - ComboMatrix._32;
        frustum[3][3] = ComboMatrix._44 - ComboMatrix._42;

        NormalizePlane(frustum, 3);

        // near clipping plane
        frustum[4][0] = ComboMatrix._13;
        frustum[4][1] = ComboMatrix._23;
        frustum[4][2] = ComboMatrix._33;
        frustum[4][3] = ComboMatrix._43;

        NormalizePlane(frustum, 4);

        // far clipping plane
        frustum[5][0] = ComboMatrix._14 - ComboMatrix._13;
        frustum[5][1] = ComboMatrix._24 - ComboMatrix._23;
        frustum[5][2] = ComboMatrix._34 - ComboMatrix._33;
        frustum[5][3] = ComboMatrix._44 - ComboMatrix._43;

        NormalizePlane(frustum, 5);

???????????????????d3d??? near clipping plane ?
frustum[4][0] = ComboMatrix._14 + ComboMatrix._13;
        frustum[4][1] = ComboMatrix._24 + ComboMatrix._23;
        frustum[4][2] = ComboMatrix._34 + ComboMatrix._33;
        frustum[4][3] = ComboMatrix._44 + ComboMatrix._43;

???planeExtraction.pdf?????opengl??????????direct3d?????
frustum[4][0] = ComboMatrix._13;
        frustum[4][1] = ComboMatrix._23;
        frustum[4][2] = ComboMatrix._33;
        frustum[4][3] = ComboMatrix._43;

??????????????

10

主题

149

帖子

149

积分

注册会员

Rank: 2

积分
149
QQ
发表于 2011-7-27 19:28:00 | 显示全部楼层

Re:??frustum?????????????

???????????????

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2011-7-27 20:30:00 | 显示全部楼层

Re:??frustum?????????????

???????????planeExtraction.pdf???????????????????????

?????????????????????????

10

主题

149

帖子

149

积分

注册会员

Rank: 2

积分
149
QQ
发表于 2011-7-28 10:17:00 | 显示全部楼层

Re: Re:??frustum?????????????

lb999255: Re:??frustum?????????????

???????????planeExtraction.pdf???????????????????????

?????????????????????????


?????,????????,???????????

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2011-7-31 23:19:00 | 显示全部楼层

Re: ??frustum?????????????

??LZ???3D?????????????????????????????
???????Mathematics for 3D Game Programming and Computer Graphics
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-18 01:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表