You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			37 lines
		
	
	
		
			815 B
		
	
	
	
		
			GLSL
		
	
			
		
		
	
	
			37 lines
		
	
	
		
			815 B
		
	
	
	
		
			GLSL
		
	
| /*
 | |
| [configuration]
 | |
| 
 | |
| [OptionRangeFloat]
 | |
| GUIName = Brightness Scale
 | |
| OptionName = BRIGHTNESS_SCALE
 | |
| MinValue = 0.1
 | |
| MaxValue = 5.0
 | |
| StepAmount = 0.1
 | |
| DefaultValue = 1.0
 | |
| 
 | |
| [/configuration]
 | |
| */
 | |
| 
 | |
| void main()
 | |
| {
 | |
|   float4 color = Sample();
 | |
|   float brightness_scale = GetOption(BRIGHTNESS_SCALE);
 | |
| 
 | |
|   // rgb->yuv
 | |
|   float3 yuv;
 | |
|   yuv.r = dot(color.rgb, float3(0.299f, 0.587f, 0.114f));
 | |
|   yuv.g = dot(color.rgb, float3(-0.14713f, -0.28886f, 0.436f));
 | |
|   yuv.b = dot(color.rgb, float3(0.615f, -0.51499f, -0.10001f));
 | |
| 
 | |
|   // apply brightness to y
 | |
|   yuv.r = saturate(yuv.r * brightness_scale);
 | |
| 
 | |
|   // yuv->rgb
 | |
|   color.r = dot(yuv, float3(1.0f, 0.0f, 1.13983f));
 | |
|   color.g = dot(yuv, float3(1.0f, -0.39465f, -0.58060f));
 | |
|   color.b = dot(yuv, float3(1.0f, 2.03211f, 0.0f));
 | |
|   color.rgb = saturate(color.rgb);
 | |
| 
 | |
|   SetOutput(saturate(color));
 | |
| }
 |