游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2888|回复: 5

[DirectX]求教大侠:绘制草地使用透明贴图出现的异常

[复制链接]

18

主题

116

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
发表于 2011-7-26 09:24:00 | 显示全部楼层 |阅读模式
想仿照前辈们的做法,用3个方形表面交叉的方式绘制草地,开启Alpha通道之后出现了如下效果:

求教各位大侠,小弟是不是少设置什么渲染状态了啊? [em7]
感激不尽~

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2011-7-26 11:17:00 | 显示全部楼层

Re:[DirectX]求教大侠:绘制草地使用透明贴图出现的异常

在 OpenGL里,Depth_Mask设置为Enable,Depth_Test设置为Enable时,会出现这种情况。

Depth_Mask开启了,所以透明区域的深度值也被写进去了。
Depth_Test开启了,所以经过深度值测试之后,远处的草被近处的透明区域给遮住了。

关键词
深度,深度检测

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2011-7-26 11:20:00 | 显示全部楼层

Re:[DirectX]求教大侠:绘制草地使用透明贴图出现的异常

还有一招可以避免这种情况,那就是使用Alpha_Test,把透明区域直接剔除掉。
不过这样的话效果不是很逼真,因为有些地方Alpah值在 0.0与1.0之间,却直接把远处的给覆盖掉,不进行混合。

还是建议使用“Depth_Mask + Depth_Test”的方法。

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2011-7-26 15:49:00 | 显示全部楼层

Re:[DirectX]求教大侠:绘制草地使用透明贴图出现的异常

请打开Alpha测试。

18

主题

116

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
 楼主| 发表于 2011-7-26 15:59:00 | 显示全部楼层

Re: Re:[DirectX]求教大侠:绘制草地使用透明贴图出现的异常

snhun: Re:[DirectX]求教大侠:绘制草地使用透明贴图出现的异常
还有一招可以避免这种情况,那就是使用Alpha_Test,把透明区域直接剔除掉。
不过这样的话效果不是很逼真,...

snhun前辈真是细心啊~
虽然小弟用的不是OpenGL,但已经根据您提供的关键字找到了DirectX中的解决方法~
再次对您表示感谢~ [em1]

18

主题

116

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
 楼主| 发表于 2011-7-26 16:06:00 | 显示全部楼层

Re: Re:[DirectX]求教大侠:绘制草地使用透明贴图出现的异常

Devil: Re:[DirectX]求教大侠:绘制草地使用透明贴图出现的异常
请打开Alpha测试。

感谢前辈的提点,解决方法已经找到了~
以后有机会还望您能多多指教~ [em1]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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