游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3736|回复: 1

麻烦帮下忙,关于PerspectiveFovLH的理解

[复制链接]

2

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2007-11-13 19:51:00 | 显示全部楼层 |阅读模式
public static Microsoft.DirectX.Matrix PerspectiveFovLH (
System.Single fieldOfViewY ,
System.Single aspectRatio ,
System.Single znearPlane ,
System.Single zfarPlane )

整个函数描述的是一个可视体场景,前面两个参数我已经知道是什么意思,现在就是不清楚,znearPlane 和zfarPlane 的关系,

查过资料,解释说是
znearPlane
近视图平面的 Z 值。

zfarPlane
远视图平面的 Z 值。

那么按我理解如果znearPlane和zfarPlane的差值越大应该就是可视体的场景越大是吗?

那么为什么我的程序当znearPlane=10.0f,zfarPlane=0.0f的时候物体可以正常显示,
而当znearPlane=10.0f,zfarPlane=10.0f的时候物体却只显示一部分?

大家帮帮忙.谢谢


abcznearPlane=10.0f,zfarPlane=0.0f

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-11-16 07:52:00 | 显示全部楼层

Re:麻烦帮下忙,关于PerspectiveFovLH的理解

你检查看你的物体的位置,我怀疑是在原点位置。
znearPlane=10.0f,zfarPlane=0.0f 相当于你从观察坐标系的z=10的位置向z=0的位置看,看见是物体的反像。

direct3d中对近截面的定义是z=1的位置,一般设置znearPlane=1.0f,zfarPlane=1000.0f(这个当作游戏可视距离看)

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-18 03:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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