游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1874|回复: 1

[DirectX]求教大侠:如何获取场景中某点的深度值?

[复制链接]

18

主题

116

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
发表于 2011-7-27 16:31:00 | 显示全部楼层 |阅读模式
想自己尝试实现一个晴天的镜头光晕效果。
元素的绘制倒是挺好实现,只是小弟不知道该怎样判断场景中的光源是否被其他事物所遮挡~ [em7]
貌似OpenGL中存在一个方法,可以用来获得已绘制各点的深度值。这样一来,根据光源的x、y坐标调用此方法可以获取到一个z值,再与光源的z值做对比,如果该值小于光源z值,则说明光源被遮挡;反之,说明光源没有被遮挡,需要绘制光晕。
求教各位大侠:DirectX中有类似的方法吗?大家平时都是采用这样的思路吗?
感激不尽~ [em5]

1

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2011-7-28 19:02:00 | 显示全部楼层

Re:[DirectX]求教大侠:如何获取场景中某点的深度值?

试试采用ShadowMap的做法吧。
取这个点在以光源为摄像机坐标下的深度值,  --->z/w
再取光源为摄像机坐标下这个坐标实际显示的深度值   --->事先保存在纹理中
做一下比较。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 12:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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