|
@@ -199,15 +199,21 @@ vec4 GetWorldTangent(mat4 modelMatrix)
|
|
|
#ifdef GL3
|
|
#ifdef GL3
|
|
|
#define varying in
|
|
#define varying in
|
|
|
|
|
|
|
|
-// \todo: should not hardcode the number of MRT outputs according to defines
|
|
|
|
|
|
|
+#ifndef MRT_COUNT
|
|
|
|
|
+
|
|
|
#if defined(DEFERRED)
|
|
#if defined(DEFERRED)
|
|
|
-out vec4 fragData[4];
|
|
|
|
|
|
|
+#define MRT_COUNT 4
|
|
|
#elif defined(PREPASS)
|
|
#elif defined(PREPASS)
|
|
|
-out vec4 fragData[2];
|
|
|
|
|
|
|
+#define MRT_COUNT 2
|
|
|
#else
|
|
#else
|
|
|
-out vec4 fragData[1];
|
|
|
|
|
|
|
+#define MRT_COUNT 1
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
|
|
+out vec4 fragData[MRT_COUNT];
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
#define gl_FragColor fragData[0]
|
|
#define gl_FragColor fragData[0]
|
|
|
#define gl_FragData fragData
|
|
#define gl_FragData fragData
|
|
|
#endif
|
|
#endif
|