<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@three3d/effect](./effect.md) &gt; [uvDrawRange\_fragment\_mainReplace](./effect.uvdrawrange_fragment_mainreplace.md)

## uvDrawRange\_fragment\_mainReplace variable

uvDrawRange 在片元着色器中增加的代核心代码

**Signature:**

```typescript
uvDrawRange_fragment_mainReplace = "\nuniform bool invert;\nuniform bool enableURange;\nuniform bool enableVRange;\n\nuniform vec2 uvMax;\nuniform vec2 uvMin;\nvoid main() {\n  bool isDiscard = false;\n  #if defined(USE_MAP) || defined(USE_UV)\n    vec2 rangeUV; \n    #ifdef USE_MAP\n      rangeUV = vMapUv;\n    #else\n      rangeUV = vUv;\n    #endif\n    bool xDiscard = enableURange && ( uvMin.x > rangeUV.x || rangeUV.x > uvMax.x);\n    bool yDiscard = enableVRange && (uvMin.y > rangeUV.y || rangeUV.y > uvMax.y);\n    isDiscard = xDiscard || yDiscard;\n  #endif\n\n  if (invert){\n    isDiscard = !isDiscard;\n  }\n  if (isDiscard) discard;\n"
```
