这几天完全在耍梦三国,所以一直都没学游戏编程了,我觉得很惭愧啊,浪费了很多的时间,其实,我觉得我的自觉性很差劲的,昨天熬了下夜,把shader的实验做了下,因为我不懂shader对GPU的编程,所以必须学习一下,在N多个例子程序的帮助下,我完成了纹理的铺设,我觉得GPU编程是最让我搞不懂的,也没有人带我,所以只有自己慢慢的摸索
float4x4 worldviewproMatrix;
float gTime;
texture modelTexture;
sampler modelTextureSampler=sampler_state
{
Texture = <modelTexture>;
MinFilter = Linear;
MagFilter = Linear;
MipFilter = Linear;
AddressU = Wrap;
AddressV = Wrap;
};
struct VertexToPixel
{
float4 Position:POSITION;
float2 TextureCoord:TEXCOORD0;
};
struct PixelToFrame
{
float4 Color:COLOR0;
};
VertexToPixel MyVertexShader(float4 vertexPos:POSITION0,
float2 textureCoord:TEXCOORD0)
{
VertexToPixel Output=(VertexToPixel)0;
//vertexPos.x+=gTime;
Output.Position=mul(vertexPos,worldviewproMatrix);
Output.TextureCoord=textureCoord;
return Output;
}
PixelToFrame MyPixelShader(VertexToPixel PSIn)
{
PixelToFrame Output=(PixelToFrame)0;
Output.Color=tex2D(modelTextureSampler,PSIn.TextureCoord);
//Output.Color.z=1;
return Output;
}
technique myFirstEffectShader
{
pass Pass0
{
VertexShader=compile vs_1_1 MyVertexShader();
PixelShader=compile ps_2_0 MyPixelShader();
}
}
这个是用的外部的jpg图片做的纹理,因为我还不知道,怎么从模型中提取纹理,因为我的fbx'模型文件的纹理是不可见的,估计是嵌入文件中,现在也不清楚是什么状况,只是这个样子