<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@three3d/effect](./effect.md)

## effect package

ThreeJS的特效库

## Remarks

ThreeJS 的一些特效

## Classes

|  Class | Description |
|  --- | --- |
|  [BandGeometry](./effect.bandgeometry.md) | 带状几何体 |
|  [PathGeometry](./effect.pathgeometry.md) | 路径Geometry |

## Enumerations

|  Enumeration | Description |
|  --- | --- |
|  [LengthConnectType](./effect.lengthconnecttype.md) | 长度连接类型 |
|  [PathDrawType](./effect.pathdrawtype.md) |  |

## Functions

|  Function | Description |
|  --- | --- |
|  [addUniformPropertiesOnMaterial(material, uniforms, shaderUniforms)](./effect.adduniformpropertiesonmaterial.md) |  |
|  [addUniforms(shaderUniforms, uniforms)](./effect.adduniforms.md) |  |
|  [connectBandGeometryData(frontData, backData, options, lengthConnectType)](./effect.connectbandgeometrydata.md) | 连接两个 BandGeometryData |
|  [createBlendBandGeometryData(pathData, options, preGeoData)](./effect.createblendbandgeometrydata.md) | 根据 pathData 创建混合方式的 BandGeometry 所需要的数据 |
|  [createCurveBandGeometryData(curve, options)](./effect.createcurvebandgeometrydata.md) | 根据曲线生成 BandGeometry 所需要的数据 |
|  [createCurveBandGeometryDataByFrenetFrames(frenetFrames, options)](./effect.createcurvebandgeometrydatabyfrenetframes.md) |  |
|  [createOnBeforeCompile(mender, uniforms, material)](./effect.createonbeforecompile.md) | 创建 onBeforeCompile 函数 |
|  [createPolylineBandGeometryData(points, options)](./effect.createpolylinebandgeometrydata.md) | 根据折线生成 BandGeometry 所需要的数据 |
|  [createPolylineBandGeometryDataByFrenetFrames(frenetFrames, options)](./effect.createpolylinebandgeometrydatabyfrenetframes.md) | 根据折线的 frenetFrames 生成 BandGeometry 所需要的数据 |
|  [createPolylinePathGeometryData(points, options)](./effect.createpolylinepathgeometrydata.md) | 根据折线创建用于 PathGeometry 的数据 |
|  [getClosestIndex(sortedNums, target)](./effect.getclosestindex.md) | 获取与 target 最近的索引 |
|  [getCurvePoints(curve, options)](./effect.getcurvepoints.md) | 获取曲线的点 |
|  [getNearbyIndex(sortedNums, target, right)](./effect.getnearbyindex.md) | 获取 target 附近的索引 |
|  [getPathItemEndPoint(pathItem)](./effect.getpathitemendpoint.md) | 获取 PathItem 的终点 |
|  [getPathItemStartPoint(pathItem)](./effect.getpathitemstartpoint.md) | 获取 PathItem 的起始点 |
|  [lengthDrawRange\_Mender(shader)](./effect.lengthdrawrange_mender.md) | 针对于一切带有 lineDistance attribute 的几何体的材质的 shader 的修改器 |
|  [lengthDrawRangeModifier(material)](./effect.lengthdrawrangemodifier.md) | 用于一切带有 lineDistance attribute 的几何体的材质的长度范围渲染的材质修改器 |
|  [lineDashedLengthDrawRange\_Mender(shader)](./effect.linedashedlengthdrawrange_mender.md) | 针对于 LineDashedMaterial 材质的 shader 的修改器 |
|  [pathDataToContinuousCurves(pathData)](./effect.pathdatatocontinuouscurves.md) | 路径数据转连续曲线 |
|  [pathDataToCurves(pathData)](./effect.pathdatatocurves.md) | 路径数据转曲线 |
|  [pathItemToCurve(item, lastPoint, continuous)](./effect.pathitemtocurve.md) | pathItem 转 曲线 |
|  [pathItemToCurves(item, lastPoint, continuous)](./effect.pathitemtocurves.md) | pathItem 转 曲线 |
|  [uvDrawRange\_Mender(shader)](./effect.uvdrawrange_mender.md) | uvDrawRange 的 shader 的修改器 |
|  [uvDrawRangeModifier(material)](./effect.uvdrawrangemodifier.md) | 用于实现绘制指定uv范围的材质修改器 |

## Interfaces

|  Interface | Description |
|  --- | --- |
|  [BandGeometryOptions](./effect.bandgeometryoptions.md) | BandGeometry的选项 |
|  [CreateBandGeometryDataOptions](./effect.createbandgeometrydataoptions.md) |  |
|  [LineAttributesData](./effect.lineattributesdata.md) | 用于线性几何体的属性数据 |
|  [MeshAttributesData](./effect.meshattributesdata.md) | 用于Mesh几何体的属性数据 |
|  [PathGeometryOptions](./effect.pathgeometryoptions.md) | PathGeometry 的 选项 |

## Variables

|  Variable | Description |
|  --- | --- |
|  [lengthAttributeName](./effect.lengthattributename.md) | 保存顶点长度的 AttributeName |
|  [lengthDrawRange\_fragment\_mainReplace](./effect.lengthdrawrange_fragment_mainreplace.md) | lengthDrawRange 的片元着色器中增加的核心代码 |
|  [lengthDrawRange\_fragment\_pars\_mainReplace](./effect.lengthdrawrange_fragment_pars_mainreplace.md) | 针对于一切带有 lineDistance attribute 的几何体的材质的片元着色器增加的代码片段 |
|  [lengthDrawRange\_onBeforeCompile](./effect.lengthdrawrange_onbeforecompile.md) | 针对于一切带有 lineDistance attribute 的几何体的材质的 onBeforeCompile 函数 |
|  [lengthDrawRange\_uniforms](./effect.lengthdrawrange_uniforms.md) | lengthDrawRange 增加的 uniforms |
|  [lengthDrawRange\_vertex\_mainReplace](./effect.lengthdrawrange_vertex_mainreplace.md) | 针对于一切带有 lineDistance attribute 的几何体的材质的顶点着色器增加的代码 |
|  [lineDashedLengthDrawRange\_onBeforeCompile](./effect.linedashedlengthdrawrange_onbeforecompile.md) | 针对于 LineDashedMaterial 材质的 onBeforeCompile 函数 |
|  [minFun\_Regex](./effect.minfun_regex.md) |  |
|  [uvDrawRange\_fragment\_mainReplace](./effect.uvdrawrange_fragment_mainreplace.md) | uvDrawRange 在片元着色器中增加的代核心代码 |
|  [uvDrawRange\_onBeforeCompile](./effect.uvdrawrange_onbeforecompile.md) | uvDrawRange 用于材质的 onBeforeCompile 函数 |
|  [uvDrawRange\_uniforms](./effect.uvdrawrange_uniforms.md) | uvDrawRange 增加的 uniforms |

## Type Aliases

|  Type Alias | Description |
|  --- | --- |
|  [BandGeometryData](./effect.bandgeometrydata.md) |  |
|  [FrenetFramesOfCreateCurveBandGeometryData](./effect.frenetframesofcreatecurvebandgeometrydata.md) |  |
|  [ModifiedMaterial](./effect.modifiedmaterial.md) |  |
|  [OnBeforeCompile](./effect.onbeforecompile.md) |  |
|  [PathData](./effect.pathdata.md) |  |
|  [PathItem](./effect.pathitem.md) |  |
|  [PolylinePoints](./effect.polylinepoints.md) |  |
|  [RecordToUniforms](./effect.recordtouniforms.md) |  |

