45 lines
		
	
	
		
			643 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			643 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 140
 | |
| 
 | |
| varying vec4 bigColor;
 | |
| varying vec4 BaseColor;
 | |
| varying float d;
 | |
| 
 | |
| float h = 0.0;
 | |
| 
 | |
| float foo(vec4 bar)
 | |
| {
 | |
|     return bar.x + bar.y;
 | |
| }
 | |
| 
 | |
| void bar()
 | |
| {
 | |
| }
 | |
| 
 | |
| float unreachableReturn()
 | |
| {
 | |
|     if (d < 4.2)
 | |
|         return 1.2;
 | |
|     else
 | |
|         return 4.5;
 | |
|     // might be another return inserted here by builders, has to be correct type
 | |
| }
 | |
| 
 | |
| float missingReturn()
 | |
| {
 | |
|     if (d < 4.5) {
 | |
|         h = d;
 | |
|         return 3.9;
 | |
|     }
 | |
| }
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     vec4 color = vec4(foo(BaseColor));
 | |
| 
 | |
|     bar();
 | |
|     float f = unreachableReturn();
 | |
|     float g = missingReturn();
 | |
|     
 | |
|     gl_FragColor = color * f * h;
 | |
| }
 | 
