游戏开发论坛

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

如何对场景中多个实体中的一个进行坐标变换

[复制链接]

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-10-14 10:09:00 | 显示全部楼层 |阅读模式
我在D3D中生成了多个对象有mesh,VB,IB的,如何对这些对象单独进行坐标变换?

世界坐标转换将所有的对象坐标都进行了转换

11

主题

46

帖子

64

积分

注册会员

Rank: 2

积分
64
发表于 2004-10-14 10:30:00 | 显示全部楼层

Re:如何对场景中多个实体中的一个进行坐标变换

将一个物体转换后,恢复以前的声景就实现了转换一个物体的动作了。

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
 楼主| 发表于 2004-10-14 10:52:00 | 显示全部楼层

Re:如何对场景中多个实体中的一个进行坐标变换

也就是对一个实体调用了
g_pD3DDev->SetTransform(D3DTS_WORLD, &m_matWord);

然后渲染下一个对象的时候再调用一次
g_pD3DDev->SetTransform(D3DTS_WORLD, &m_matWord);

是不是这样

11

主题

46

帖子

64

积分

注册会员

Rank: 2

积分
64
发表于 2004-10-14 10:56:00 | 显示全部楼层

Re:如何对场景中多个实体中的一个进行坐标变换

不是,你再调用一次后,物体又转了一次了。
我的是意思是调用g_pD3DDev->SetTransform(D3DTS_WORLD, &m_matWord);
后再恢复以前的位置,就是那个PI什么的不要X角度了

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
 楼主| 发表于 2004-10-14 11:03:00 | 显示全部楼层

Re:如何对场景中多个实体中的一个进行坐标变换

我知道了,谢谢

现在是第二个问题

g_pD3DDev->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
g_pD3DDev->SetRenderState(D3DRS_LIGHTING, FALSE);
g_pD3DDev->SetRenderState(D3DRS_ZENABLE, TRUE);

这是我的设置
g_pD3DDev->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 1.0f, 0);

但我发现,渲染出来的物体总是变形很厉害,而且后面的东西总能看见,前面的东西被后面的东西挡住了

11

主题

46

帖子

64

积分

注册会员

Rank: 2

积分
64
发表于 2004-10-14 11:08:00 | 显示全部楼层

Re:如何对场景中多个实体中的一个进行坐标变换

如果你不是用顶点色的话,把g_pD3DDev->SetRenderState(D3DRS_LIGHTING, FALSE);改为g_pD3DDev->SetRenderState(D3DRS_LIGHTING, TRUE);试试。
嘿嘿,猜的

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2004-10-14 11:32:00 | 显示全部楼层

Re:如何对场景中多个实体中的一个进行坐标变换

不会是ZBuffer的比较操作设置的不对吧?

2

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2004-10-15 09:58:00 | 显示全部楼层

Re:如何对场景中多个实体中的一个进行坐标变换

bigbook2000

可以看看你的代码吗!?我现在也在学习中碰到这样的问题 修改一个实体的位置其他实体的坐标也被修改,不知道这么改呀!

2

主题

5

帖子

5

积分

新手上路

Rank: 1

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

Re:如何对场景中多个实体中的一个进行坐标变换

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

本版积分规则

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

GMT+8, 2025-12-22 19:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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