Process only animated tiles
Trying to make copies of static tiles and animating them has bad results on some GLES devices
This commit is contained in:
		
							parent
							
								
									bcdd187f69
								
							
						
					
					
						commit
						0f4de4b5f7
					
				
					 4 changed files with 52 additions and 14 deletions
				
			
		| 
						 | 
				
			
			@ -6,6 +6,14 @@ uniform vec2 translation;
 | 
			
		|||
 | 
			
		||||
uniform float aniIndex;
 | 
			
		||||
 | 
			
		||||
uniform float t1Ani;
 | 
			
		||||
uniform float t2Ani;
 | 
			
		||||
uniform float t3Ani;
 | 
			
		||||
uniform float t4Ani;
 | 
			
		||||
uniform float t5Ani;
 | 
			
		||||
uniform float t6Ani;
 | 
			
		||||
uniform float t7Ani;
 | 
			
		||||
 | 
			
		||||
attribute vec2 position;
 | 
			
		||||
attribute vec2 texCoord;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -20,6 +28,16 @@ void main()
 | 
			
		|||
	vec2 tex = texCoord;
 | 
			
		||||
 | 
			
		||||
	lowp float pred = float(tex.x <= atAreaW && tex.y <= atAreaH);
 | 
			
		||||
 | 
			
		||||
	highp int tileIndex = int(tex.y / 128.0) + 1;
 | 
			
		||||
 | 
			
		||||
	if ((tileIndex == 1 && t1Ani >= 1.0) ||
 | 
			
		||||
		(tileIndex == 2 && t2Ani >= 1.0) ||
 | 
			
		||||
		(tileIndex == 3 && t3Ani >= 1.0) ||
 | 
			
		||||
		(tileIndex == 4 && t4Ani >= 1.0) ||
 | 
			
		||||
		(tileIndex == 5 && t5Ani >= 1.0) ||
 | 
			
		||||
		(tileIndex == 6 && t6Ani >= 1.0) ||
 | 
			
		||||
		(tileIndex == 7 && t7Ani >= 1.0))
 | 
			
		||||
	tex.x += aniIndex * atAniOffset * pred;
 | 
			
		||||
 | 
			
		||||
	gl_Position = projMat * vec4(position + translation, 0, 1);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue