diff --git a/docs/assets/search.js b/docs/assets/search.js index ec426da..d1e3a1b 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/classes/graphics_rendering_fps-quality-autoscaler.FpsQualityAutoscaler.html b/docs/classes/graphics_rendering_fps-quality-autoscaler.FpsQualityAutoscaler.html index b5bbccf..41d2646 100644 --- a/docs/classes/graphics_rendering_fps-quality-autoscaler.FpsQualityAutoscaler.html +++ b/docs/classes/graphics_rendering_fps-quality-autoscaler.FpsQualityAutoscaler.html @@ -5,10 +5,12 @@
 const renderer = await compile(...);
const autoscaler = new FpsQualityAutoscaler(renderer);
-
Index

Constructors

Index

Constructors

Properties

Accessors

Methods

Constructors

Properties

fpsHysteresis: number = 5
fpsTarget: number = 30

Accessors

  • get FPS(): number

    Returns number

Methods

  • Autoscaling is also done by calling this function

    -

    Parameters

    • deltaTimeInMilliseconds: number

    Returns void

+

Constructors

Properties

fpsHysteresis: number = 5
scalingEnabled: boolean = true

When false, FPS is still measured but the render scales are left alone.

+
fpsTarget: number = 30

Accessors

  • get FPS(): number

    Returns number

Methods

  • Autoscaling is also done by calling this function

    +

    Parameters

    • deltaTimeInMilliseconds: number

    Returns void

diff --git a/docs/functions/drawables_shapes_circle-factory.CircleFactory.html b/docs/functions/drawables_shapes_circle-factory.CircleFactory.html index dcb5a1e..50d68cc 100644 --- a/docs/functions/drawables_shapes_circle-factory.CircleFactory.html +++ b/docs/functions/drawables_shapes_circle-factory.CircleFactory.html @@ -1 +1 @@ -CircleFactory | SDF-2D - v0.7.6
SDF-2D - v0.7.6
    Preparing search index...
    • Parameters

      • color:
            | number
            | IndexedCollection
            | [number, number, number]
            | [number, number, number, number]

      Returns typeof CircleBase

    +CircleFactory | SDF-2D - v0.7.6
    SDF-2D - v0.7.6
      Preparing search index...
      • Parameters

        • color:
              | number
              | IndexedCollection
              | [number, number, number]
              | [number, number, number, number]

        Returns typeof CircleBase

      diff --git a/docs/functions/graphics_rendering_renderer_noise-renderer.renderNoise.html b/docs/functions/graphics_rendering_renderer_noise-renderer.renderNoise.html index 6119e73..ca353f5 100644 --- a/docs/functions/graphics_rendering_renderer_noise-renderer.renderNoise.html +++ b/docs/functions/graphics_rendering_renderer_noise-renderer.renderNoise.html @@ -5,4 +5,4 @@ while returning the generated texture in the form of a canvas.

    • scale: number

      A starting value can be 15

    • amplitude: number

      A starting value can be 1

    • ignoreWebGL2: boolean = false

      Ignore WebGL2, even when it's available

      -
    • Returns Promise<HTMLCanvasElement>

      +

      Returns Promise<HTMLCanvasElement>

      diff --git a/docs/functions/run-animation.runAnimation.html b/docs/functions/run-animation.runAnimation.html index 6e40b5e..9181d16 100644 --- a/docs/functions/run-animation.runAnimation.html +++ b/docs/functions/run-animation.runAnimation.html @@ -1,4 +1,4 @@ -runAnimation | SDF-2D - v0.7.6
      SDF-2D - v0.7.6
        Preparing search index...

        Function runAnimation

        • Implements the boilerplate code required to run real-time animations +runAnimation | SDF-2D - v0.7.6

          SDF-2D - v0.7.6
            Preparing search index...

            Function runAnimation

            • Implements the boilerplate code required to run real-time animations in the browser. An FPS based autoscaler is also used. This creates an additional fps key in the renderers insights property.

              Example usage:

              @@ -18,4 +18,4 @@ ever needs to be drawn by this renderer has to be given before compiling.

              renderDrawables must not be called by the animate function. It should return true if the animation should be continued. To break out of the animation loop, a false (falsy) return value must be given.

              -
            • settings: Partial<StartupSettings & RuntimeSettings> = {}

            Returns Promise<void>

          +
        • settings: Partial<StartupSettings & RuntimeSettings> & { enableAutoscaler?: boolean } = {}
        • Returns Promise<void>

          diff --git a/docs/index.html b/docs/index.html index 8c5d546..053d452 100644 --- a/docs/index.html +++ b/docs/index.html @@ -10,44 +10,44 @@ -

          If you're planning on creating animated content, use the runAnimation function to spare yourself from writing boilerplate code. -Further documentation on its usage is available in its documentation.

          +

          If you're planning to create animated content, use the runAnimation function to save yourself from writing boilerplate code. +See its documentation for more details.

          -

          Iñigo Quilez has some great 2D SDF-s

          +

          Iñigo Quilez has a great collection of 2D SDFs

          -

          The vec2, vec3, and vec4 types seen in the documentation come from the glMatrix library and are equivalent to regular JS Arrays or Float32Arrays. So, feel free to give [x, y] as an input for functions requiring vec2.

          +

          The vec2, vec3, and vec4 types seen in the documentation come from the glMatrix library and are equivalent to regular JS Arrays or Float32Arrays, so feel free to pass [x, y] to functions that expect a vec2.

          -

          Anywhere, where positions need to be specified, the y values grow upwards. That means, when setting the view area, the origin is at the bottom left corner of the display.

          +

          Wherever positions need to be specified, the y axis grows upwards. This means that when you set the view area, the origin is at the bottom-left corner of the display.

          -

          For optimising the evaluation of the distance field, the display is divided up into a grid of tiles. The shaders for each tile are compiled to support a fix maximum number of objects on it. When using the built-in drawables it is possible that after a certain number of on-screen objects new ones won't be visible.

          -

          Mitigating this issue is quite easy. Instead of the following code:

          +

          To optimise the evaluation of the distance field, the display is divided into a grid of tiles. The shaders for each tile are compiled to support a fixed maximum number of objects. When using the built-in drawables, this means that beyond a certain number of on-screen objects, new ones may stop appearing.

          +

          Mitigating this is easy. Instead of the following code:

          this.renderer = await compile(canvas, [Circle.descriptor, CircleLight.descriptor]);
           
          -

          Modify it to something similar:

          +

          modify it to something like this:

          this.renderer = await compile(canvas, [
          {
          ...Circle.descriptor,
          shaderCombinationSteps: [0, 1, 2, 24, 64],
          },
          {
          ...CircleLight.descriptor,
          shaderCombinationSteps: [0, 1, 2, 4],
          },
          ]);
          -

          The usage of too large numbers is not advised for compatibility and performance reasons alike.

          +

          Using very large numbers is not advised, for both compatibility and performance reasons.

          -

          Steps are very useful for tile-based rendering, because it is possible for one tile (at a given moment) to be empty or contain just a few objects, while others have a large cluster of objects. The compiled shaders only take into account the necessary number of objects on each tile.

          +

          Steps are especially useful for tile-based rendering: at any given moment, one tile may be empty or contain just a few objects, while another holds a large cluster. The compiled shaders only account for the number of objects actually present on each tile.