  	vec2	codeXY		= stXY%4u;
  	vec2	subTexUVsub	= codeXY*CODE_PAGE_TEXEL_SIZE_UV;
  	vec2	codePgXY	= vec2(codeIdx % CODE_PAGE_SIDE_WIDTH_CODES,(codeIdx / CODE_PAGE_SIDE_WIDTH_CODES)%CODE_PAGE_SIDE_WIDTH_CODES)*4+codeXY+sub;
- 	cTexel				= textureLod(rgbaTiles,vec3(codePgXY*CODE_PAGE_TEXEL_SIZE_UV,codeBkPgNum),0);
+ 	cTexel.rgba			= textureLod(rgbaTiles,vec3(codePgXY*CODE_PAGE_TEXEL_SIZE_UV,codeBkPgNum),0);
+ 	cTexel.ESTuTv		= textureLod(ESTuTvTiles,vec3(codePgXY*CODE_PAGE_TEXEL_SIZE_UV,codeBkPgNum),0);
  	vec4 illumination;
  	if(dot(norm.xyz,norm.xyz)>.01)illumination.rgb
- 								=((clamp(-dot(sunVector,norm),0,1)*sunColor)+ambientLight);
- 	return cTexel * illumination;
+ 								=((clamp(-dot(sunVector,norm),0,1)*sunColor)+ambientLight) + cTexel.ESTuTv.x;
+ 	return cTexel.rgba * illumination;
     }else{
      subTexV4Addr = uvec4(stv4a);
      }

uniform sampler2D		primitiveUVZWTexture;
uniform sampler2D		primitivenXnYnZTexture;
uniform sampler2DArray 	rgbaTiles;
uniform sampler2D		layerAccumulator;
uniform usamplerBuffer 	rootBuffer; 	//Global memory, as a set of uint vec4s.
uniform samplerCube 	cubeTexture;

   subTexV4Sub  = subTexByIdx % 16u;
  }
  //Perform 4-way texel mix
  cTexel		 = cMix(codeTexel(iuv4A.xy,textureID, subTexV4Idx[0u], subTexV4Sub[0u],subTexV4Addr[0u],startCode[0u]),codeTexel(iuv4A.zw,textureID, subTexV4Idx[1u], subTexV4Sub[1u],subTexV4Addr[1u],startCode[1u]),sub.y);
  cTexel		 = cMix(cTexel,cMix(codeTexel(iuv4B.xy,textureID, subTexV4Idx[2u], subTexV4Sub[2u], subTexV4Addr[2u],startCode[2u]),codeTexel(iuv4B.zw,textureID,subTexV4Idx[3u],subTexV4Sub[3u],subTexV4Addr[3u],startCode[3u]),sub.y),sub.x);
 
 vec4 illumination = vec4(1);
 if(dot(norm.xyz,norm.xyz)>.01)illumination.rgb
 								=((clamp(-dot(sunVector,norm),0,1)*sunColor)+ambientLight) + cTexel.ESTuTv.x;
 return cTexel.rgba * illumination;
 }//end intrinsicCodeTexel

vec4 primitiveLayer(vec3 pQuad, vec4 vUVZI, bool disableAlpha, float w){
