VS2015, directx11을 사용하고 있습니다.픽셀 쉐이더 입력 버퍼 정보
내 버텍스 쉐이더 코드입니다.
cbuffer cbperobject {
float4x4 gWorldViewProj;
};
struct VertexIn {
float3 Pos : POSITION;
float2 tex : TEXCOORD0;
};
struct VertexOut {
float4 PosH : SV_POSITION;
float2 tex : TEXCOORD0;
};
VertexOut main(VertexIn vin)
{
VertexOut vOut;
vOut.PosH = mul(float4(vin.Pos, 1.0f), gWorldViewProj);
vOut.tex = vin.tex;
return vOut;
}
는이 픽셀 쉐이더 입력 버퍼 내 픽셀 쉐이더 코드
Texture2D shaderTexture;
SamplerState SampleType;
struct VertexIn {
float4 PosH : SV_POSITION;
float2 tex : TEXCOORD0;
};
float4 main(VertexIn Pin) : SV_TARGET
{
float4 textureColor;
textureColor = shaderTexture.Sample(SampleType, Pin.tex);
return textureColor;
}
, 나는이 코드에 위치 버퍼가 필요하지 않습니다. 그래서 나는이 코드에서 float4 PosH를 삭제했다. 그러면 픽셀 쉐이더가 작동하지 않습니다. 검은 색 맥주 상자가 보입니다. 위치 정보에 대해 float4가 있고 텍스트 䂈 스 정보에 대해 float2가있는 구조체 양식을 리 트롤하면 잘 작동합니다. 이 렌더링 파이프 라인이 어떻게 작동하는지 이해할 수 없다고 생각합니다. 왜 이것이, 어떻게 파이프 라인이 작동하는지 설명해 주시겠습니까? 고맙습니다.
의 말에 넣을 수있는''는 암시 적으로 픽셀 쉐이더 처리의 일부로서 SV_POSITION''는 버텍스 쉐이더에서 필요한 출력됩니다. –