游戏开发论坛

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

清除深度???^

[复制链接]

414

主题

611

帖子

621

积分

高级会员

Rank: 4

积分
621
发表于 2005-11-25 16:55:00 | 显示全部楼层 |阅读模式
清除深度???^是清除Z大於1.0f的?D形??
在?出??上?子反射的茶?氐牟襟E,
需要清除深度???^再?茶?卦阽R子的反射影像,
可是清除深度???^之前有在?鼍爱?出一些物件,
?些物件不??磺宄?by m_d3dDevice->Clear Z=1.0f)??

m_d3dDevice->Clear(0L,NULL,D3DCLEAR_ZBUFFER,0x000000,1.0f,0L);
?一行到底是清除什??D形呢?

IDirect3DDevice8::Clear
HRESULT Clear(
  DWORD Count,
  CONST D3DRECT* pRects,
  DWORD Flags,
  D3DCOLOR Color,
  float Z,
  DWORD Stencil
);

D3DCLEAR_ZBUFFER
Clear the depth buffer to the value in the Z parameter

Z
[in] New z value that this method stores in the depth buffer. This parameter can be in the range from 0.0 through 1.0 (for z-based or w-based depth buffers). A value of 0.0 represents the nearest distance to the viewer, and 1.0 the farthest distance.

1

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2005-11-27 03:10:00 | 显示全部楼层

Re:清除深度???^

m_d3dDevice->Clear(0L,NULL,D3DCLEAR_ZBUFFER,0x000000,1.0f,0L);
我觉得,这句话的意义在于把前面绘制的场景当作一张背景图片来使用,而且永远在最后面,只有被遮盖的份,至于为什么,因为color:0x00000000是ARGB的,alpha为0

dx里面的z好像是0.0-1.0吧,范围就是这么规定的,和w不一样,没记错的话

茶壶的镜像程序里面需要这样做吗?有点奇怪,手头没有sdk也没有vc,只能猜猜
要是能发个代码上来看看就好了

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-11-27 11:42:00 | 显示全部楼层

Re:清除深度???^

只是将深度缓冲清除。

414

主题

611

帖子

621

积分

高级会员

Rank: 4

积分
621
 楼主| 发表于 2005-11-27 17:41:00 | 显示全部楼层

Re:清除深度???^

source code 在 DirectX SDK 的sample目?下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 18:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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