GBufferOutput.bslinc 461 B

123456789101112131415161718
  1. #include "$ENGINE$\SurfaceData.bslinc"
  2. mixin GBufferOutput
  3. {
  4. mixin SurfaceData;
  5. code
  6. {
  7. void encodeGBuffer(SurfaceData data, out float4 GBufferAData, out float4 GBufferBData, out float2 GBufferCData)
  8. {
  9. GBufferAData = data.albedo;
  10. GBufferBData.xyz = float3(data.worldNormal.xyz * 0.5f + 0.5f);
  11. GBufferBData.w = 1.0f; // Marks that some deferred data was written
  12. GBufferCData.x = data.roughness;
  13. GBufferCData.y = data.metalness;
  14. }
  15. };
  16. };