- \r
- core::video_mode::type last_mode_;\r
- size_t last_width_;\r
- size_t last_height_;\r
- \r
- //std::string get_blend_color_func()\r
- //{\r
- // return \r
- // \r
- // get_blend_glsl()\r
- // \r
- // +\r
- // \r
- // "vec3 get_blend_color(vec3 back, vec3 fore) \n"\r
- // "{ \n"\r
- // " switch(blend_mode) \n"\r
- // " { \n"\r
- // " case 0: return BlendNormal(back, fore); \n"\r
- // " case 1: return BlendLighten(back, fore); \n"\r
- // " case 2: return BlendDarken(back, fore); \n"\r
- // " case 3: return BlendMultiply(back, fore); \n"\r
- // " case 4: return BlendAverage(back, fore); \n"\r
- // " case 5: return BlendAdd(back, fore); \n"\r
- // " case 6: return BlendSubstract(back, fore); \n"\r
- // " case 7: return BlendDifference(back, fore); \n"\r
- // " case 8: return BlendNegation(back, fore); \n"\r
- // " case 9: return BlendExclusion(back, fore); \n"\r
- // " case 10: return BlendScreen(back, fore); \n"\r
- // " case 11: return BlendOverlay(back, fore); \n"\r
- // //" case 12: return BlendSoftLight(back, fore); \n"\r
- // " case 13: return BlendHardLight(back, fore); \n"\r
- // " case 14: return BlendColorDodge(back, fore); \n"\r
- // " case 15: return BlendColorBurn(back, fore); \n"\r
- // " case 16: return BlendLinearDodge(back, fore); \n"\r
- // " case 17: return BlendLinearBurn(back, fore); \n"\r
- // " case 18: return BlendLinearLight(back, fore); \n"\r
- // " case 19: return BlendVividLight(back, fore); \n"\r
- // " case 20: return BlendPinLight(back, fore); \n"\r
- // " case 21: return BlendHardMix(back, fore); \n"\r
- // " case 22: return BlendReflect(back, fore); \n"\r
- // " case 23: return BlendGlow(back, fore); \n"\r
- // " case 24: return BlendPhoenix(back, fore); \n"\r
- // " case 25: return BlendHue(back, fore); \n"\r
- // " case 26: return BlendSaturation(back, fore); \n"\r
- // " case 27: return BlendColor(back, fore); \n"\r
- // " case 28: return BlendLuminosity(back, fore); \n"\r
- // " } \n"\r
- // " return BlendNormal(back, fore); \n"\r
- // "} \n"\r
- // " \n" \r
- // "vec4 blend_color(vec4 fore) \n"\r
- // "{ \n"\r
- // " vec4 back = texture2D(background, gl_TexCoord[1].st); \n"\r
- // " fore.rgb = get_blend_color(back.bgr, fore.rgb); \n"\r
- // " \n"\r
- // " return vec4(mix(back.rgb, fore.rgb, fore.a), back.a + fore.a); \n"\r
- // "} \n";\r
- //}\r
- // \r
- //std::string get_simple_blend_color_func()\r
- //{\r
- // return \r
-\r
- // "vec4 blend_color(vec4 fore) \n"\r
- // "{ \n"\r
- // " vec4 back = texture2D(background, gl_TexCoord[1].st); \n"\r
- // " return vec4(mix(back.rgb, fore.rgb, fore.a), back.a + fore.a); \n"\r
- // "} \n";\r
- //}\r
+ bool blend_modes_;\r
+ \r
+ implementation() : blend_modes_(true)\r
+ {\r
+ }\r
+\r
+ std::string get_blend_color_func()\r
+ {\r
+ return \r
+ \r
+ get_adjustement_glsl()\r
+ \r
+ +\r
+\r
+ get_blend_glsl()\r
+ \r
+ +\r
+ \r
+ "vec3 get_blend_color(vec3 back, vec3 fore) \n"\r
+ "{ \n"\r
+ " switch(blend_mode) \n"\r
+ " { \n"\r
+ " case 0: return BlendNormal(back, fore); \n"\r
+ " case 1: return BlendLighten(back, fore); \n"\r
+ " case 2: return BlendDarken(back, fore); \n"\r
+ " case 3: return BlendMultiply(back, fore); \n"\r
+ " case 4: return BlendAverage(back, fore); \n"\r
+ " case 5: return BlendAdd(back, fore); \n"\r
+ " case 6: return BlendSubstract(back, fore); \n"\r
+ " case 7: return BlendDifference(back, fore); \n"\r
+ " case 8: return BlendNegation(back, fore); \n"\r
+ " case 9: return BlendExclusion(back, fore); \n"\r
+ " case 10: return BlendScreen(back, fore); \n"\r
+ " case 11: return BlendOverlay(back, fore); \n"\r
+ //" case 12: return BlendSoftLight(back, fore); \n"\r
+ " case 13: return BlendHardLight(back, fore); \n"\r
+ " case 14: return BlendColorDodge(back, fore); \n"\r
+ " case 15: return BlendColorBurn(back, fore); \n"\r
+ " case 16: return BlendLinearDodge(back, fore); \n"\r
+ " case 17: return BlendLinearBurn(back, fore); \n"\r
+ " case 18: return BlendLinearLight(back, fore); \n"\r
+ " case 19: return BlendVividLight(back, fore); \n"\r
+ " case 20: return BlendPinLight(back, fore); \n"\r
+ " case 21: return BlendHardMix(back, fore); \n"\r
+ " case 22: return BlendReflect(back, fore); \n"\r
+ " case 23: return BlendGlow(back, fore); \n"\r
+ " case 24: return BlendPhoenix(back, fore); \n"\r
+ " case 25: return BlendHue(back, fore); \n"\r
+ " case 26: return BlendSaturation(back, fore); \n"\r
+ " case 27: return BlendColor(back, fore); \n"\r
+ " case 28: return BlendLuminosity(back, fore); \n"\r
+ " } \n"\r
+ " return BlendNormal(back, fore); \n"\r
+ "} \n"\r
+ " \n" \r
+ "vec4 blend(vec4 fore) \n"\r
+ "{ \n"\r
+ " vec4 back = texture2D(background, gl_TexCoord[1].st); \n"\r
+ " fore.rgb = get_blend_color(back.rgb, fore.rgb); \n"\r
+ " return vec4(mix(back.bgr, fore.rgb, fore.a), back.a + fore.a); \n"\r
+ "} \n";\r
+ }\r
+ \r
+ std::string get_simple_blend_color_func()\r
+ {\r
+ return \r
+ \r
+ get_adjustement_glsl()\r
+ \r
+ +\r
+\r
+ "vec4 blend(vec4 fore) \n"\r
+ "{ \n"\r
+ " return fore; \n"\r
+ "} \n";\r
+ }\r