AstaTus
-- 夏天不热。。
posts - 22,comments - 12,trackbacks - 0
/////pixel shader:
sampler BaseTex;
sampler SpotLightTex;
sampler StringTex;



struct PS_INPUT
{    
    float2 
base : TEXCOORD0;
    float2 spotlight : TEXCOORD1;
    float2 text : TEXCOORD2;    
}
;

struct PS_OUTPUT
{
    vector finalcolor : COLOR;
    
}
;

PS_OUTPUT Main(PS_INPUT input)
{
    PS_OUTPUT  output 
= (PS_OUTPUT)0;
    
    vector b 
= tex2D(BaseTex, input.base);
    vector s 
= tex2D(SpotLightTex, input.spotlight);
    vector t 
= tex2D(StringTex, input.text);

    vector c 
= b * s + t;
    c 
+= 0.1f;

    output.finalcolor 
= c;


    
return output;
}



///////////////////////主程序
//..

BT 
= PSConstantTable->GetConstantByName(0"BaseTex");
        ST 
= PSConstantTable->GetConstantByName(0"SpotLightTex");
        TT 
= PSConstantTable->GetConstantByName(0"StringTex");
//..

BT, ST, TT 为D3DXHANDLE类型,调试到这里时
这三个都为错误指针,PSConstantTable为获取正常的静态数据表指针,pixel shader编译也没问题,到底是哪里错了,抓狂。。
为什么编译没出错,获取静态数据表也没出错,就是在获取着色器里的sampler句柄时出错。。。谜团至今未解。。

posted on 2008-10-16 22:39 AstaTus 阅读(298) 评论(0)  编辑 收藏 引用 所属分类: DIRECTX9

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理