|
|
主板说明书上说我的集成显卡支持Pixel Shader 2.0,但hlsl编绎通不过,需要用软件模拟方式运行,为什么?请赐教,在sdk很多例子中也是如此,速度比较慢,shader文件如下:
extern matrix WorldViewMatrix;
extern matrix WorldViewProjMatrix;
extern vector Color;
extern vector LightDirection;
//
// Structures
//
struct VS_INPUT
{
vector position : POSITION;
vector normal : NORMAL;
};
struct VS_OUTPUT
{
vector position : POSITION;
float2 uvCoords : TEXCOORD;
vector diffuse : COLOR;
};
//
// Main
//
VS_OUTPUT Main(VS_INPUT input)
{
// zero out each member in output
VS_OUTPUT output = (VS_OUTPUT)0;
output.position = mul(input.position, WorldViewProjMatrix);
LightDirection.w = 0.0f;
input.normal.w = 0.0f;
LightDirection = mul(LightDirection, WorldViewMatrix);
input.normal = mul(input.normal, WorldViewMatrix);
float u = dot(LightDirection, input.normal);
if( u < 0.0f )
u = 0.0f;
float v = 0.5f;
output.uvCoords.x = u;
output.uvCoords.y = v;
output.diffuse = Color;
return output;
}
|
|