游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2657|回复: 2

Direct3D中公告板Billboard的问题

[复制链接]

69

主题

450

帖子

473

积分

中级会员

战魂缔造者

Rank: 3Rank: 3

积分
473
QQ
发表于 2004-7-10 01:07:00 | 显示全部楼层 |阅读模式
自己从MS的Camera类加到自己的代码里
生成一个块纹理,然后设置Billboard后,能够时钟朝向摄像机,但是当摄像机移动或者旋转时,这块纹理的自身坐标竟然会跟着动,这好像不符合Billboard的特性的嘛,Billboard都是定在自己的位置,然后朝向摄像机的嘛
m_pd3dDevice->GetTransform(D3DTS_WORLD, &matWorld);
PXCamera cam;
D3DXMATRIX matBillBoard;
matBillBoard=cam.GetBillboardMatrix();
matBillBoard._41 =(float)(fabs(p->tlv[1].x) -fabs(p->tlv[0].x))/2;
matBillBoard._42 =(float)(fabs(p->tlv[0].y) -fabs(p->tlv[2].y))/2;
matBillBoard._43 =(float)(fabs(p->tlv[0].z) -fabs(p->tlv[2].z))/2;
m_pd3dDevice->SetTransform(D3DTS_WORLD, &matBillBoard);

0

主题

237

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2004-7-10 12:15:00 | 显示全部楼层

Re: Direct3D中公告板Billboard的问题

?槭颤N先要GetTransform ?? ???不用的.

matBillBoard._41/._42/._43 ???illboard的World position, 不是Vertex的??值吧. (看你的Vertex的名字, 是TLVertex ?? 不是用???的呀... )

6

主题

41

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2004-7-12 12:08:00 | 显示全部楼层

Re:Direct3D中公告板Billboard的问题

其实据我所知,billboard并不是法线始终朝向eyept,而是与lookatpt - eyept成180角度。所以,你环视的时候,bb也会变。
而你想得到的那个mat对于不同位置的无题诗不一样的,那样可就失去了bb的特点,速度快了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-3 17:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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