0
在DirectX中,我知道我可以做這樣的事情。OpenGL片段着色器VS DirectX片段着色器
struct GBufferVertexOut
{
float4 position : POSITION0;
float4 normal : TEXCOORD0;
float2 texCoord : TEXCOORD1;
};
GBufferFragOut GBuffersFS(GBufferVertexOut inVert)
{
GBufferFragOut buffOut;
buffOut.normal = normalize(inVert.normal);
buffOut.normal = (buffOut.normal + 1) * .5;
buffOut.diffuse = tex2D(diffuseSampler, inVert.texCoord);
buffOut.diffuse.a = tex2D(ambientSampler, inVert.texCoord).r;
buffOut.specular = float4(1, 1, 1, 1);
return buffOut;
}
所以我的片段結果的信息 我想轉換一個OpenGL着色器做類似的
東西的集合,但你能甚至做到這一點?我從來沒有返回任何其他的東西,雖然除了vec4的「片段顏色」openGL片段着色器,我似乎無法找到任何信息,告訴我我可以返回更多。
對不起。是的,我的頂點着色器中有這些變量。你是在說我應該操縱那裏的信息嗎?因爲我試圖獲得每個像素「正常」的數據或跟蹤像素位置。 –
,因爲我正在跟蹤圖像。我確實綁定了我的幀緩衝區。我寫信給它。但在directX中,你的片段着色器會輸出你告訴它丟棄的所有信息。 –
對不起,編輯答案,沒有正確地讀取問題 – Slicedpan