UNPKG

@masabando/easy-three

Version:

A simple and easy-to-use 3D library

183 lines (176 loc) 6.06 kB
// types/easy-three-postprocessing.d.ts declare module "@masabando/easy-three" { export interface EasyThreePostprocessing { /** * Bloomエフェクトを追加。 * exposure(曝光度), background(背景色), threshold(しきい値), strength(強さ), radius(ブラー半径) * を指定可能。 * 戻り値の bloom() を animate() 内で呼び出すことでエフェクトが適用される。 * animate の第2引数には false を指定して、自動レンダリングを無効化する必要がある。 * ```js * const cube = create.cube() * const { bloom } = postprocessing.bloom({ * exposure: 1.5 * }) * animate(({ time, delta }) => { * bloom() * }, false) * ``` */ bloom(props?: { /** * 曝光度 (デフォルト: 1) */ exposure?: number; /** * 背景色 (デフォルト: 0x000000) */ background?: THREE.ColorRepresentation; /** * しきい値 (デフォルト: 0) */ threshold?: number; /** * 強さ (デフォルト: 1) */ strength?: number; /** * ブラー半径 (デフォルト: 0.5) */ radius?: number; }): { bloom: THREE.UnrealBloomPass; }; /** * 選択オブジェクトにBloomエフェクトを追加。 * exposure(曝光度), background(背景色), threshold(しきい値), strength(強さ), radius(ブラー半径) * を指定可能。 * 戻り値の addSelectedBloom(対象1, 対象2, ...) でBloom対象を設定する。 * 戻り値の selectedBloom() を animate() 内で呼び出すことでエフェクトが適用される。 * animate の第2引数には false を指定して、自動レンダリングを無効化する必要がある。 * ```js * const cube = create.cube() * const sphere = create.sphere({ position: [2, 0, 0] }) * const { selectedBloom, addSelectedBloom } = postprocessing.selectedBloom({ * strength: 2 * }) * addSelectedBloom(cube, sphere) // Bloom 対象を追加 * animate(({ time, delta }) => { * selectedBloom() // Boom 適用 * }, false) * ``` */ selectedBloom(props?: { /** * 曝光度 (デフォルト: 1) */ exposure?: number; /** * 背景色 (デフォルト: 0x000000) */ background?: THREE.ColorRepresentation; /** * しきい値 (デフォルト: 0) */ threshold?: number; /** * 強さ (デフォルト: 1) */ strength?: number; /** * ブラー半径 (デフォルト: 0.5) */ radius?: number; }): { selectedBloom: (selectedObjects: THREE.Object3D[]) => void; addSelectedBloom: () => void; }; /** * ピクセル化エフェクトを追加。 * size(ピクセルの大きさ), normalEdge(法線エッジの強さ), depthEdge(深度エッジの強さ) * を指定可能。 * 戻り値の pixel() を animate() 内で呼び出すことでエフェクトが適用される。 * animate の第2引数には false を指定して、自動レンダリングを無効化する必要がある。 * ```js * const cube = create.cube() * const { pixel } = postprocessing.pixel() * animate(({ time, delta }) => { * pixel() * }, false) * ``` */ pixel(props?: { /** ピクセルの大きさ (デフォルト : 6) */ size?: number; /** 法線エッジの強さ (デフォルト : 0.3) */ normalEdge?: number; /** 深度エッジの強さ (デフォルト : 0.3) */ depthEdge?: number; }): { pixel: () => void; }; /** * マスクエフェクトを追加。 * 戻り値の mask(time) を animate() 内で呼び出すことでエフェクトが適用される。 * animate の第2引数には false を指定して、自動レンダリングを無効化する必要がある。 * ```js * const torusKnot = create.torusKnot() * const texture = load.texture("./path/to/texture.png") * const { mask } = postprocessing.mask(texture) * animate(({ time, delta }) => { * mask(time) * }, false) * ``` */ mask(texture: THREE.Texture): { mask: (time) => void; }; /** * Glitchエフェクトを追加。 * wild(ワイルドモード)を指定可能。 * 戻り値の glitch() を animate() 内で呼び出すことでエフェクトが適用される。 * animate の第2引数には false を指定して、自動レンダリングを無効化する必要がある。 * ```js * const cube = create.cube() * const { glitch } = postprocessing.glitch({ wild: true }) * animate(({ time, delta }) => { * glitch() * }, false) * ``` */ glitch(props?: { /** ワイルドモード (デフォルト: false) */ wild?: boolean; }): { glitch: () => void; }; /** * Bokehエフェクトを追加。 * focus(フォーカス距離), aperture(絞り値), maxblur(最大ブラー) * を指定可能。 * 戻り値の bokeh(delta) を animate() 内で呼び出すことでエフェクトが適用される。 * animate の第2引数には false を指定して、自動レンダリングを無効化する必要がある。 * ```js * const cube = create.cube() * const { bokeh } = postprocessing.bokeh({ * focus: 1, * aperture: 0.025, * maxblur: 0.01 * }) * animate(({ time, delta }) => { * bokeh(delta) * }, false) * ``` */ bokeh(props?: { /** フォーカス距離 (デフォルト: 1) */ focus?: number; /** 絞り値 (デフォルト: 0.01) */ aperture?: number; /** 最大ブラー (デフォルト: 0.01) */ maxblur?: number; }): { bokeh: (delta) => void; }; } }