【发布时间】:2013-01-22 00:13:25
【问题描述】:
我在 HLSL 中有以下像素着色器功能:
float GammaCorrectA(float3 color, float alpha) {
float a = 1 - sqrt(1 - alpha);
float b = sqrt(alpha);
float t = (color.x + color.y + color.z) / 3;
return a * (1 - t) + b^t;
}
这是这样称呼的:
float screen = GammaCorrectA(strokeColor, alpha);
strokeColor 和 alpha 都是浮点数。
这导致“返回”行出现以下错误:
错误 X3082:需要 int 或 unsigned int 类型。
我正在使用 Shader Model 4 Level 9_3 进行编译,禁用了优化并启用了调试信息。
我似乎在 MSDN 或任何地方都找不到此错误记录。
一般来说,有人能指出这个错误记录在哪里吗?我想了解这里发生了什么。更具体地说,有人能发现我的错误吗?
【问题讨论】:
标签: hlsl directx-11 pixel-shader