游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1172|回复: 0

地表纹理混合时如何只对当前像素需要的纹理做tex2D?

[复制链接]

22

主题

98

帖子

98

积分

注册会员

Rank: 2

积分
98
QQ
发表于 2010-7-28 10:17:00 | 显示全部楼层 |阅读模式
我的地形有4层纹理和一张alpha纹理,我想让当前像素对某个纹理的alpha为0时不做tex2D,于是在PS中加了类似下面的语句:
float4 c1,c2,c3,c4;
if(alpha.x>0.01)
{
   c1=tex2D(uTex1,texCoord);
   ....
   ....
}
但是我发现加不加if语句开销都没变,只有把tex2D注掉才行。不是说shader model 3.0之后就支持动态分支了吗?为什么我在9600GSO上用动态分支还是会两边都执行后才判断呢?如果这个方法行不通的话各位大侠有啥好的解决方案,请多多指教啦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 06:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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