We chose 8 renderbuffer because it seems to be commonly supported on mobile gpu and is more than 6 which is needed for generating cubemaps. 4 was the minimum guaranteed by ES3.0. The main changes here are: - TargetBufferFlags is now a uint32_t instead of uint8_t - The number of render buffer supported by filament and supported by the hardware can now be different. Applications/users now must query this value if more than 4 is needed. - added a backend query (used gl terminology) This is a redo of a previous attempt. There was an issue in the GL backend that caused MRT to fail on some devices.
37 lines
758 B
GLSL
37 lines
758 B
GLSL
LAYOUT_LOCATION(LOCATION_UVS) in highp vec2 vertex_uv;
|
|
|
|
/** @public-api */
|
|
highp vec2 getUV() {
|
|
return vertex_uv;
|
|
}
|
|
|
|
struct PostProcessInputs {
|
|
#if defined(FRAG_OUTPUT0)
|
|
FRAG_OUTPUT_TYPE0 FRAG_OUTPUT0;
|
|
#endif
|
|
#if defined(FRAG_OUTPUT1)
|
|
FRAG_OUTPUT_TYPE1 FRAG_OUTPUT1;
|
|
#endif
|
|
#if defined(FRAG_OUTPUT2)
|
|
FRAG_OUTPUT_TYPE2 FRAG_OUTPUT2;
|
|
#endif
|
|
#if defined(FRAG_OUTPUT3)
|
|
FRAG_OUTPUT_TYPE3 FRAG_OUTPUT3;
|
|
#endif
|
|
#if defined(FRAG_OUTPUT4)
|
|
FRAG_OUTPUT_TYPE4 FRAG_OUTPUT4;
|
|
#endif
|
|
#if defined(FRAG_OUTPUT5)
|
|
FRAG_OUTPUT_TYPE5 FRAG_OUTPUT5;
|
|
#endif
|
|
#if defined(FRAG_OUTPUT6)
|
|
FRAG_OUTPUT_TYPE6 FRAG_OUTPUT6;
|
|
#endif
|
|
#if defined(FRAG_OUTPUT7)
|
|
FRAG_OUTPUT_TYPE7 FRAG_OUTPUT7;
|
|
#endif
|
|
#if defined(FRAG_OUTPUT_DEPTH)
|
|
float depth;
|
|
#endif
|
|
};
|