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