/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../../../../../core/compilerUtils","../../shaderModules/interfaces","../../../lib/VertexAttribute"],(function(e,t,r,o){"use strict";var i;function u(i,u){switch(u.textureCoordinateType){case e.TextureCoordinateAttributeType.Default:return i.attributes.add(o.VertexAttribute.UV0,"vec2"),i.varyings.add("vuv0","vec2"),void i.vertex.code.add(r.glsl`void forwardTextureCoordinates() {
vuv0 = uv0;
}`);case e.TextureCoordinateAttributeType.Atlas:return i.attributes.add(o.VertexAttribute.UV0,"vec2"),i.varyings.add("vuv0","vec2"),i.attributes.add(o.VertexAttribute.UVREGION,"vec4"),i.varyings.add("vuvRegion","vec4"),void i.vertex.code.add(r.glsl`void forwardTextureCoordinates() {
vuv0 = uv0;
vuvRegion = uvRegion;
}`);case e.TextureCoordinateAttributeType.None:return void i.vertex.code.add(r.glsl`void forwardTextureCoordinates() {}`);default:t.neverReached(u.textureCoordinateType);case e.TextureCoordinateAttributeType.COUNT:return}}e.TextureCoordinateAttributeType=void 0,(i=e.TextureCoordinateAttributeType||(e.TextureCoordinateAttributeType={}))[i.None=0]="None",i[i.Default=1]="Default",i[i.Atlas=2]="Atlas",i[i.COUNT=3]="COUNT",e.TextureCoordinateAttribute=u,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
