我有一個可用的Texture2D;我有一個明顯工作的着色器紋理採樣和着色器紋理變量,我可以把那的Texture2D在如何將紋理加載到着色器(DirectX11/SlimDX)
唯一的問題是,我不知道如何將紋理加載到DirectX11的着色器 - ,要麼是谷歌無益,或者僅僅是我無法構建好搜索條件。
我需要的是:將採用Texture2D並將其加載到着色器中的代碼。例如,關於如何操作的鏈接。
總之,這裏是我的shader代碼:
cbuffer CameraSet : register(b0)
{
float4x4 ViewProj ;
} ;
cbuffer MeshSet : register(b1)
{
float4x4 World ;
texture2D Texture ;
SamplerState MeshTextureSampler
{
Filter = MIN_MAG_MIP_LINEAR ;
AddressU = WRAP ;
AddressV = WRAP ;
} ;
} ;
struct VShaderOutput
{
float4 WorldPosition : POSITION ;
float4 ScreenPosition : SV_POSITION ;
float2 UV : TEXCOORD;
} ;
VShaderOutput VShader(float4 position : POSITION, float2 uv : TEXCOORD)
{
VShaderOutput r ;
r.WorldPosition = mul(position, World) ;
r.ScreenPosition = mul(r.WorldPosition, ViewProj) ;
r.UV.x = abs(uv.x) ;
r.UV.y = abs(uv.y) ;
return r ;
}
struct PShaderOutput
{
float4 SV_Target : SV_TARGET ;
float SV_Depth : SV_DEPTH ;
};
PShaderOutput PShader(VShaderOutput input)
{
PShaderOutput r ;
r.SV_Depth = input.ScreenPosition.z;
r.SV_Target = Texture.Sample(MeshTextureSampler, input.UV) ;
return r ;
}
感謝。
0插槽指數 - 在這裏看到(StartSlot )http://msdn.microsoft.com/en-us/library/windows/desktop/ff476473.aspx – 2012-02-29 02:56:39