|
写了个很简单的hlsl就是让一个纹理自己累加到白色为止。PaintSamp 一开始清屏为黑色。
可是发现一个float值得问题,如下,如果累加值是0.0021以上,就累加成白色了。
如果小于0.0021,就是加不起来,像是hlsl把它当作0来处理了。为什么啊?
float4 reducePS(QuadVertexOutput IN
) : COLOR
{
float4 cur = tex2D(PaintSamp,IN.UV.xy);
cur = cur + 0.0021f;
return cur;
}
pass dispear <
string Script =
"RenderColorTarget0=PaintTex;"
"RenderDepthStencilTarget=DepthStencilTarget;"
"Draw=Buffer;";
> {
VertexShader = compile vs_1_1 ScreenQuadVS();
PixelShader = compile ps_3_0 reducePS();
AlphaBlendEnable = false;
ZEnable = false;
} |
|