游戏开发论坛

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

公司的电脑硬件不支持PS2.0,谁能帮我把这PS2.0的代码改

[复制链接]

51

主题

134

帖子

140

积分

注册会员

Rank: 2

积分
140
发表于 2007-10-8 11:31:00 | 显示全部楼层 |阅读模式
texture        tex0;
texture        tex1;
texture        tex2;
texture        tex3;
texture        tex4;

sampler s0 = sampler_state{Texture=(tex0);MipFilter=LINEAR;MinFilter=LINEAR;MagFilter=LINEAR;};//用于细节纹理0
sampler s1 = sampler_state{Texture=(tex1);MipFilter=LINEAR;MinFilter=LINEAR;MagFilter=LINEAR;};//用于细节纹理1
sampler s2 = sampler_state{Texture=(tex2);MipFilter=LINEAR;MinFilter=LINEAR;MagFilter=LINEAR;};//用于细节纹理2
sampler s3 = sampler_state{Texture=(tex3);MipFilter=LINEAR;MinFilter=LINEAR;MagFilter=LINEAR;};//索引纹理
sampler s4 = sampler_state{Texture=(tex4);MipFilter=LINEAR;MinFilter=LINEAR;MagFilter=LINEAR;};//光照纹理


float4 PS(
        float2 Tex0  : TEXCOORD0,
        float2 Tex1  : TEXCOORD1
        ) : COLOR
{
        float4 d1=tex2D(s0,Tex0);
        float4 d2=tex2D(s1,Tex0);
        float4 d3=tex2D(s2,Tex0);
        float4 vfade =tex2D(s3, Tex1);
        float4 shadow=tex2D(s4,Tex1);
        float4 outf=shadow*(vfade.r*lerp(0,d1,1)+vfade.g*lerp(0,d2,1)+vfade.b*lerp(0,d3,1));
        return outf;
}

0

主题

34

帖子

46

积分

注册会员

Rank: 2

积分
46
QQ
发表于 2007-10-20 17:02:00 | 显示全部楼层

Re:公司的电脑硬件不支持PS2.0,谁能帮我把这PS2.0的代码改

改PS1.1的话要在technique里写多个PASS了
每个PASS的PS里一次tex2D,结果传递到下个PASS
你这个公式比较复杂,这么多次tex2D
不太好改了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-14 15:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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