自定义描边后处理效果(不通过深度对比 可以描边片元着色物体)

Export

Date

2025.10.16

Author

lyx

Hierarchy

  • Effect
    • OutlineEffectAlternative

Constructors

  • Parameters

    • __namedParameters: {
          blendFunction: BlendFunction;
          blur: boolean;
          edgeDetectionAlpha: number;
          edgeStrength: number;
          hiddenEdgeColor: number;
          kernelSize: KernelSize;
          multisampling: number;
          patternScale: number;
          patternTexture: any;
          pulseSpeed: number;
          resolutionScale: number;
          resolutionX: number;
          resolutionY: number;
          visibleEdgeColor: number;
          xRay: boolean;
      } = {}
      • blendFunction: BlendFunction
      • blur: boolean
      • edgeDetectionAlpha: number
      • edgeStrength: number
      • hiddenEdgeColor: number
      • kernelSize: KernelSize
      • multisampling: number
      • patternScale: number
      • patternTexture: any
      • pulseSpeed: number
      • resolutionScale: number
      • resolutionX: number
      • resolutionY: number
      • visibleEdgeColor: number
      • xRay: boolean

    Returns OutlineEffectAlternative

Properties

blendMode: BlendMode

The blend mode of this effect.

blurPass: KawaseBlurPass

模糊通道

Memberof

OutlineEffectAlternative

camera: Camera

主相机

Memberof

OutlineEffectAlternative

clearPass: ClearPass

清理通道

Memberof

OutlineEffectAlternative

defines: Map<string, string>

Preprocessor macro definitions.

Call setChanged after changing macro definitions.

extensions: Set<WebGLExtension>

WebGL extensions that are required by this effect.

Call setChanged after adding or removing extensions.

maskPass: RenderPass

遮罩通道1

Memberof

OutlineEffectAlternative

maskPass2: ShaderPass

遮罩通道2

Memberof

OutlineEffectAlternative

name: string

The name of this effect.

outlinePass: ShaderPass

描边通道

Memberof

OutlineEffectAlternative

pulseSpeed: number

闪烁间隔

Memberof

OutlineEffectAlternative

renderTargetMask: WebGLRenderTarget<Texture>

渲染目标图层

Memberof

OutlineEffectAlternative

renderTargetMask2: WebGLRenderTarget<Texture>

修改颜色值

Memberof

OutlineEffectAlternative

renderTargetOutline: WebGLRenderTarget<Texture>

渲染描边

Memberof

OutlineEffectAlternative

renderer: WebGLRenderer

The renderer.

Deprecated

scene: Scene

主场景

Memberof

OutlineEffectAlternative

selection: Selection

选择器

Memberof

OutlineEffectAlternative

time: number

时间

Memberof

OutlineEffectAlternative

uniforms: Map<string, Uniform<any>>

Shader uniforms.

Call setChanged after adding or removing uniforms.

Accessors

  • get edgeStrength(): number
  • 获取边强度

    Returns number

    Memberof

    OutlineEffectAlternative

  • set edgeStrength(value): void
  • 设置边强度

    Parameters

    • value: number

    Returns void

    Memberof

    OutlineEffectAlternative

  • get hiddenEdgeColor(): Color
  • 获取不可见边颜色

    Returns Color

    Memberof

    OutlineEffectAlternative

  • set hiddenEdgeColor(value): void
  • 设置不可见边颜色

    Parameters

    • value: Color

    Returns void

    Memberof

    OutlineEffectAlternative

  • get inputColorSpace(): ColorSpace
  • Experimental

    The input color space.

    Returns ColorSpace

  • set inputColorSpace(arg): void
  • Protected Experimental

    Parameters

    • arg: ColorSpace

    Returns void

  • set mainCamera(camera): void
  • 设置主相机

    Parameters

    • camera: Camera

    Returns void

    Memberof

    OutlineEffectAlternative

  • set mainScene(scene): void
  • 设置主场景

    Parameters

    • scene: Scene

    Returns void

    Memberof

    OutlineEffectAlternative

  • get multisampling(): number
  • 获取多重采样次数

    Returns number

    Memberof

    OutlineEffectAlternative

  • set multisampling(value): void
  • 设置多重采样次数

    Parameters

    • value: number

    Returns void

    Memberof

    OutlineEffectAlternative

  • get outputColorSpace(): ColorSpace
  • Experimental

    The output color space.

    Should only be changed if this effect converts the input colors to a different color space.

    Returns ColorSpace

  • set outputColorSpace(arg): void
  • Protected Experimental

    Parameters

    • arg: ColorSpace

    Returns void

  • get patternScale(): number
  • 获取描边图案缩放

    Returns number

    Memberof

    OutlineEffectAlternative

  • set patternScale(value): void
  • 设置描边图案缩放

    Parameters

    • value: number

    Returns void

    Memberof

    OutlineEffectAlternative

  • get patternTexture(): Texture
  • 获取描边图案纹理

    Returns Texture

    Memberof

    OutlineEffectAlternative

  • set patternTexture(value): void
  • 设置描边图案纹理

    Parameters

    • value: Texture

    Returns void

    Memberof

    OutlineEffectAlternative

  • get visibleEdgeColor(): Color
  • 获取可见边颜色

    Returns Color

    Memberof

    OutlineEffectAlternative

  • set visibleEdgeColor(value): void
  • 设置可见边颜色

    Parameters

    • value: Color

    Returns void

    Memberof

    OutlineEffectAlternative

  • get xRay(): boolean
  • 获取是否开启X-Ray模式

    Returns boolean

    Memberof

    OutlineEffectAlternative

  • set xRay(value): void
  • 设置是否开启X-Ray模式

    Parameters

    • value: boolean

    Returns void

    Memberof

    OutlineEffectAlternative

Methods

  • Adds a listener to an event type.

    Type Parameters

    • T extends "change"

    Parameters

    Returns void

  • 关闭指定渲染组件的描边效果

    Parameters

    • renderable: Renderable

      待关闭描边的渲染组件

    Returns void

    Memberof

    OutlineEffectAlternative

  • 关闭指定实体的描边效果

    Parameters

    • entity: Entity

      待关闭描边的实体

    Returns void

    Memberof

    OutlineEffectAlternative

  • Fire an event type.

    Type Parameters

    • T extends "change"

    Parameters

    • event: BaseEvent<T> & BaseEventMap[T]

      The event that gets fired.

    Returns void

  • Performs a shallow search for properties that define a dispose method and deletes them.

    The EffectComposer calls this method when it is being destroyed.

    Returns void

  • 描边指定渲染组件

    Parameters

    • renderable: Renderable

      待描边的渲染组件

    Returns void

    Memberof

    OutlineEffectAlternative

  • 描边指定的实体

    Parameters

    • entity: Entity

      待描边的实体

    Returns void

    Memberof

    OutlineEffectAlternative

  • Returns the blend mode.

    The result of this effect will be blended with the result of the previous effect using this blend mode.

    Returns BlendMode

    The blend mode.

    Deprecated

    Use blendMode instead.

  • Returns the preprocessor macro definitions.

    Returns Map<string, string>

    The extensions.

    Deprecated

    Use defines instead.

  • Returns the fragment shader.

    Returns string

    The fragment shader.

  • Returns the name of this effect.

    Returns string

    The name.

    Deprecated

    Use name instead.

  • Returns the uniforms of this effect.

    Returns Map<string, Uniform<any>>

    The extensions.

    Deprecated

    Use uniforms instead.

  • Returns the vertex shader.

    Returns string

    The vertex shader.

  • Checks if listener is added to an event type.

    Type Parameters

    • T extends "change"

    Parameters

    Returns boolean

  • 初始化

    Parameters

    • renderer: WebGLRenderer
    • alpha: boolean
    • frameBufferType: number

    Returns void

    Memberof

    OutlineEffectAlternative

  • Removes a listener from an event type.

    Type Parameters

    • T extends "change"

    Parameters

    Returns void

  • Protected

    Sets the effect attributes.

    Effects that have the same attributes will be executed in the order in which they were registered. Some attributes imply a higher priority.

    Parameters

    Returns void

  • Protected

    Informs the associated EffectPass that this effect requires a shader recompilation.

    Should be called after changing macros or extensions and after adding/removing uniforms.

    Returns void

  • Sets the depth texture.

    You may override this method if your effect requires direct access to the depth texture that is bound to the associated EffectPass.

    Parameters

    • depthTexture: Texture

      A depth texture.

    • Optional depthPacking: DepthPackingStrategies

      The depth packing.

    Returns void

  • Protected

    Sets the fragment shader.

    Parameters

    • fragmentShader: string

      The fragment shader.

    Returns void

  • Sets the renderer.

    Parameters

    • renderer: WebGLRenderer

      The renderer.

    Returns void

    Deprecated

  • 设置尺寸

    Parameters

    • width: number

      宽度

    • height: number

      高度

    Returns void

    Memberof

    OutlineEffectAlternative

  • Protected

    Sets the vertex shader.

    Parameters

    • vertexShader: string

      The vertex shader.

    Returns void

  • 切换指定渲染组件的描边效果

    Parameters

    • renderable: Renderable

      待切换描边效果的渲染组件

    Returns void

    Memberof

    OutlineEffectAlternative

  • 切换指定实体的描边效果

    Parameters

    • entity: Entity

      待切换描边效果的实体

    Returns void

    Memberof

    OutlineEffectAlternative

  • 更新效果

    Parameters

    • renderer: WebGLRenderer
    • inputBuffer: WebGLRenderTarget<Texture>
    • Optional deltaTime: number

    Returns void

    Memberof

    OutlineEffectAlternative