# SDF几何体生成器([name])

[name] 从有符号距离函数 生成 [page:BufferGeometry] 实例。 使用 Mikola Lysenko 的等值面。

## 引入

[name] 是一个附加组件，必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

`import { SDFGeometryGenerator } from 'three/addons/geometries/SDFGeometryGenerator.js';`

## 代码示例

`const generator = new SDFGeometryGenerator( renderer ); const sdf = 'float dist( vec3 p ){ return length(p) - 0.5; }' // glsl const geometry = generator.generate( 64, sdf, 1 ); // ~> THREE.BufferGeometry`

## 例子

[example:webgl_geometry_sdf geometry / sdf ]

## 构造函数

### [name]( [param:WebGLRenderer renderer] )

[page:WebGLRenderer renderer] -- 用于渲染场景的渲染器。

## 方法

### [method:BufferGeometry generate]( [param:Int resolution], [param:String distanceField], [param:Int bounds] )

resolution - Int [必填项] 用于三角测量的“体素”数量。必须是 2 的幂。256 之后会变得很重，大多数机器将无法处理超过 512 的数据。默认为 64。

distanceField - String [必填项] 具有 glsl 距离函数的字符串。函数名称必须是“dist”，带有 vec3 参数。（参见上面的代码）。默认为球体距离。

bounds - Int [可选] 将评估有符号距离字段的边界。默认为 1。

## 源代码

[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/geometries/SDFGeometry.js examples/jsm/geometries/SDFGeometryGenerator.js]