游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3099|回复: 8

求助关于billboard的问题(大侠快来帮忙,我要死了)

[复制链接]

2

主题

11

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2005-6-29 14:18:00 | 显示全部楼层 |阅读模式
     我把场景对应的视觉矩阵的左上3*3子矩阵求逆,然后用这个矩阵作为billboard的视觉矩阵.结果不行.

     还看到一方法说把左上的3*3矩阵变成标准矩阵,这个方法到真能让billboard面向相机,但当旋转视角的时候,billboard会绕世界坐标原点旋转.

     我不知道怎么半好了,可能是我理解错误?

     我是这么想的,本地坐标,经过世界变换,经过视觉变换,得到视觉矩阵,然后处理这个矩阵,(求逆或标准化),把结果做为billboard的视觉矩阵.

     哪里错啊?要怎么处理?要死了,要死了,大侠救命啊!!!!

4

主题

65

帖子

65

积分

注册会员

Rank: 2

积分
65
QQ
发表于 2005-6-29 23:10:00 | 显示全部楼层

Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

还看到一方法说把左上的3*3矩阵变成标准矩阵,这个方法到真能让billboard面向相机,但当旋转视角的时候,billboard会绕世界坐标原点旋转.
glPushMatrix,和glPopMatrix

31

主题

630

帖子

635

积分

高级会员

Rank: 4

积分
635
发表于 2005-6-30 10:34:00 | 显示全部楼层

Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

应该用sprite作布告牌

2

主题

11

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2005-6-30 11:12:00 | 显示全部楼层

Re: Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

tjlzc: Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

用的不是opengl.
这个api中渲染过程有(可操作的):
建立模型,
建立视觉坐标系和矩阵,
设定变换矩阵(旋转,缩放),
视觉坐标矩阵和变换矩阵相成.(view transformation)
然后用这矩阵渲染.
我就是把最后的矩阵的3*3子矩阵标准化.
还有其他方法没?告诉我一个.

2

主题

11

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2005-6-30 11:15:00 | 显示全部楼层

Re: Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

fujingqiu: Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

应该用sprite作布告牌


sprite做公告板好像只能绕中心点旋转,我想让它绕任意点,任意轴旋转,用sprite可以吗?

4

主题

65

帖子

65

积分

注册会员

Rank: 2

积分
65
QQ
发表于 2005-6-30 16:46:00 | 显示全部楼层

Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

你也可以计算board与视点的角度,然后旋转.

31

主题

630

帖子

635

积分

高级会员

Rank: 4

积分
635
发表于 2005-6-30 16:54:00 | 显示全部楼层

Re: Re: Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

dacainiao: Re: Re:求助关于billboard的问题(大侠快来帮忙,我要死了)



sprite做公告板好像只能绕中心点旋转,我想让它绕任意点,任意轴旋转,用sprite可以吗?

那你就处理材质贴图。如果是我的话就会用GDI。

69

主题

450

帖子

473

积分

中级会员

战魂缔造者

Rank: 3Rank: 3

积分
473
QQ
发表于 2005-7-1 10:33:00 | 显示全部楼层

Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

看DXSDK里的公告板例子会对你有点帮助

2

主题

11

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2005-7-1 12:03:00 | 显示全部楼层

Re:求助关于billboard的问题(大侠快来帮忙,我要死了)

哈哈哈哈,终于解决了,用这个
a = center - right * (size * 0.5);
b = center + right * size * 0.5;
c = center + right * size * 0.5 + up * size;
d = center - right * size * 0.5 + up * size;
现在好开心,昨天连生日都没过好,现在可以轻松一下了.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 06:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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