我正在编写一个延迟渲染器,并试图打包我的 gbuffer。
将漫反射和镜面反射存储在一起会更好:
vec4 difSpec = (diffuse.xyz, specular) // FORMAT_RGBA
gl_FragData[0] = difSpc;
或使用 2 个渲染目标
vec3 diffuse
float specular
gl_FragData[0] = diffuse // FORMAT_RGB
gl_FragData[1] = specular // FORMAT_RED
问题是一个会比另一个更好,为什么。