游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1328|回复: 3

问个坐标的问题,很迷惑……

[复制链接]

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
发表于 2007-11-14 21:05:00 | 显示全部楼层 |阅读模式
最近在学模板的内容,例子是一个茶壶在镜子上投影出来,可是我做好后发现镜子把茶壶遮住了。

看了书上的源码发现他设置镜子坐标的时候是用的是D3DXMatrixIdentity, 就是把镜子放在(1,1,1)的位置吧?然后他设置反射平面的时候用D3DXPLANE plane(0.0f, 0.0f, 1.0f, 0.0f), 这里的(0, 0, 1)是怎么算出来的啊??

我自己是把镜子放在(0, 0, 5)的地方,然后我设置放射平面用的也是(0, 0, 5),后来把反射平面(0, 0, 5)中的5改4 ,3 之类的发觉竟然没变化…… [em17]

究竟是甚麽问题啊…… [em17](书上说要清空深度缓存,我也清空了……)

9

主题

198

帖子

198

积分

注册会员

Rank: 2

积分
198
发表于 2007-11-14 22:11:00 | 显示全部楼层

Re:问个坐标的问题,很迷惑……

typedef struct D3DXPLANE {
    FLOAT a;
    FLOAT b;
    FLOAT c;
    FLOAT d;
} D3DXPLANE, *LPD3DXPLANE;

9

主题

198

帖子

198

积分

注册会员

Rank: 2

积分
198
发表于 2007-11-14 22:23:00 | 显示全部楼层

Re:问个坐标的问题,很迷惑……

The members of the D3DXPLANE structure take the form of the general plane equation. They fit into the general plane equation so that ax + by + cz + dw = 0.

0

主题

228

帖子

285

积分

中级会员

Rank: 3Rank: 3

积分
285
发表于 2007-11-15 10:11:00 | 显示全部楼层

Re:问个坐标的问题,很迷惑……

这里的(0, 0, 1)是怎么算出来的啊??
ax + by + cz + dw = 0.
这个是平面方程,(a,b,c)是法线
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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