Options
All
  • Public
  • Public/Protected
  • All
Menu

Class MetaCircle

Hierarchy

Index

Constructors

Properties

Methods

Object literals

Constructors

constructor

  • new MetaCircle(center: vec2, radius: number): MetaCircle

Properties

center

center: vec2

radius

radius: number

Methods

Protected getObjectToSerialize

  • getObjectToSerialize(transform2d: mat2d, transform1d: number): any

minDistance

  • minDistance(target: vec2): number

Object literals

Static descriptor

descriptor: object

empty

empty: MetaCircle = new MetaCircle(vec2.create(), 0)

shaderCombinationSteps

shaderCombinationSteps: number[] = [0, 1, 2, 3, 8, 16]

uniformCountMacroName

uniformCountMacroName: string = "META_CIRCLE_COUNT"

propertyUniformMapping

propertyUniformMapping: object

center

center: string = "metaCircleCenters"

radius

radius: string = "metaCircleRadii"

sdf

sdf: object

distanceFunctionName

distanceFunctionName: string = "metaCircleMinDistance"

shader

shader: string = `uniform vec2 metaCircleCenters[META_CIRCLE_COUNT];uniform float metaCircleRadii[META_CIRCLE_COUNT];const float k = 32.0;float metaCircleMinDistance(vec2 target, out float colorIndex) {colorIndex = 5.0;float res = 0.0;for (int i = 0; i < META_CIRCLE_COUNT; i++) {float dist = distance(metaCircleCenters[i], target) - metaCircleRadii[i];res += exp2(-k * dist);}return -log2(res) / k;}`