Improve docs language
This commit is contained in:
parent
4d94fdeec8
commit
fb40343c40
11 changed files with 45 additions and 45 deletions
|
|
@ -4,12 +4,12 @@ import { StartupSettings } from './graphics/rendering/settings/startup-settings'
|
||||||
import { DrawableDescriptor, Renderer } from './main';
|
import { DrawableDescriptor, Renderer } from './main';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compiles a new renderer instance. There can multiple renderers on a single page.
|
* Compiles a new renderer instance. There can be multiple renderers on a single page.
|
||||||
* > Asynchronous behaviour is required for parallel shader compiling.
|
* > Asynchronous behaviour is required for parallel shader compiling.
|
||||||
* > Trying to draw before the returned promise resolves, results in no action taken.
|
* > Trying to draw before the returned promise resolves results in no action being taken.
|
||||||
* > Settings can be set before promise resolution and they will be applied later.
|
* > Settings can be set before the promise resolves and they will be applied later.
|
||||||
*
|
*
|
||||||
* The descriptors of every to-be-drawn objects are required before creating the renderer,
|
* The descriptors of all to-be-drawn objects are required before creating the renderer,
|
||||||
* allowing the compiler to only create the shaders that will actually be used.
|
* allowing the compiler to only create the shaders that will actually be used.
|
||||||
*
|
*
|
||||||
* Example usage:
|
* Example usage:
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { Drawable } from './drawable';
|
||||||
*
|
*
|
||||||
* Each [[Drawable]] must have a static property of this type, called descriptor.
|
* Each [[Drawable]] must have a static property of this type, called descriptor.
|
||||||
*
|
*
|
||||||
* For more information on how to create your own DrawableDescriptor-s, look at the
|
* For more information on how to create your own DrawableDescriptors, look at the
|
||||||
* code of [[CircleFactory]] or [[InvertedTunnelFactory]].
|
* code of [[CircleFactory]] or [[InvertedTunnelFactory]].
|
||||||
*/
|
*/
|
||||||
export interface DrawableDescriptor {
|
export interface DrawableDescriptor {
|
||||||
|
|
@ -27,9 +27,9 @@ export interface DrawableDescriptor {
|
||||||
*/
|
*/
|
||||||
sdf?: {
|
sdf?: {
|
||||||
/**
|
/**
|
||||||
* The actual GLSL code for observing the drawables represented by this descriptor.
|
* The actual GLSL code that defines the drawables represented by this descriptor.
|
||||||
*
|
*
|
||||||
* Your code should work with both version 100 and version 300 es
|
* Your code should work with both GLSL version 100 and version 300 es.
|
||||||
*/
|
*/
|
||||||
shader: string;
|
shader: string;
|
||||||
/**
|
/**
|
||||||
|
|
@ -59,8 +59,8 @@ export interface DrawableDescriptor {
|
||||||
/**
|
/**
|
||||||
* Number of possible drawables around each tile.
|
* Number of possible drawables around each tile.
|
||||||
*
|
*
|
||||||
* For each step, a shader will be generated. And at runtime the closes matching
|
* For each step, a shader is generated, and at runtime the closest matching
|
||||||
* shader will be used to render a given part of the scene.
|
* shader is used to render a given part of the scene.
|
||||||
*
|
*
|
||||||
* Must contain 0 as a value.
|
* Must contain 0 as a value.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@ export abstract class Drawable {
|
||||||
/**
|
/**
|
||||||
* The lower bound of the distance between the target and the object.
|
* The lower bound of the distance between the target and the object.
|
||||||
*
|
*
|
||||||
* It can return 0 by default, the only consequence of this, is a reduced performance.
|
* It can return 0 by default; the only consequence is reduced performance,
|
||||||
* Because this object won't benefit from tile-based rendering.
|
* because this object won't benefit from tile-based rendering.
|
||||||
* @param target
|
* @param target
|
||||||
*/
|
*/
|
||||||
public abstract minDistance(target: vec2): number;
|
public abstract minDistance(target: vec2): number;
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@ export enum WrapOptions {
|
||||||
CLAMP_TO_EDGE = 'CLAMP_TO_EDGE',
|
CLAMP_TO_EDGE = 'CLAMP_TO_EDGE',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On WebGL it only work with power of 2 texture sizes.
|
* On WebGL, this only works with power-of-2 texture sizes.
|
||||||
*/
|
*/
|
||||||
REPEAT = 'REPEAT',
|
REPEAT = 'REPEAT',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On WebGL it only work with power of 2 texture sizes.
|
* On WebGL, this only works with power-of-2 texture sizes.
|
||||||
*/
|
*/
|
||||||
MIRRORED_REPEAT = 'MIRRORED_REPEAT',
|
MIRRORED_REPEAT = 'MIRRORED_REPEAT',
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { RuntimeSettings } from './settings/runtime-settings';
|
||||||
/**
|
/**
|
||||||
* Set the quality of rendering based on FPS values.
|
* Set the quality of rendering based on FPS values.
|
||||||
*
|
*
|
||||||
* When using this the size of the canvas must be fixed with CSS.
|
* When using this, the size of the canvas must be fixed with CSS.
|
||||||
*
|
*
|
||||||
* The `addDeltaTime` method should be called once every frame.
|
* The `addDeltaTime` method should be called once every frame.
|
||||||
*
|
*
|
||||||
|
|
@ -52,7 +52,8 @@ export class FpsQualityAutoscaler {
|
||||||
private deltaTimeSinceLastAdjustment = 0;
|
private deltaTimeSinceLastAdjustment = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Autoscaling is also done by calling this function
|
* Record the time taken by the latest frame. Autoscaling is also performed
|
||||||
|
* as part of this call.
|
||||||
* @param deltaTimeInMilliseconds
|
* @param deltaTimeInMilliseconds
|
||||||
*/
|
*/
|
||||||
public addDeltaTime(deltaTimeInMilliseconds: DOMHighResTimeStamp) {
|
public addDeltaTime(deltaTimeInMilliseconds: DOMHighResTimeStamp) {
|
||||||
|
|
|
||||||
|
|
@ -10,13 +10,12 @@ import randomVertex100 from '../shaders/random-vs-100.glsl';
|
||||||
import randomVertex from '../shaders/random-vs.glsl';
|
import randomVertex from '../shaders/random-vs.glsl';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a renderer, draw a 2D noise texture with it,
|
* Create a renderer, draw a 2D noise texture with it, then destroy the
|
||||||
* then destroy the used resources,
|
* resources it used, returning the generated texture in the form of a canvas.
|
||||||
* while returning the generated texture in the form of a canvas.
|
|
||||||
*
|
*
|
||||||
* @param textureSize The resolution of the end result
|
* @param textureSize The resolution of the end result
|
||||||
* @param scale A starting value can be 15
|
* @param scale A good starting value is 15
|
||||||
* @param amplitude A starting value can be 1
|
* @param amplitude A good starting value is 1
|
||||||
* @param ignoreWebGL2 Ignore WebGL2, even when it's available
|
* @param ignoreWebGL2 Ignore WebGL2, even when it's available
|
||||||
*/
|
*/
|
||||||
export const renderNoise = async (
|
export const renderNoise = async (
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export interface Renderer {
|
||||||
/**
|
/**
|
||||||
* Get the actual resolution of the canvas without triggering a reflow.
|
* Get the actual resolution of the canvas without triggering a reflow.
|
||||||
*
|
*
|
||||||
* A ResizeObserver is utilised fot achieving this.
|
* A ResizeObserver is used to achieve this.
|
||||||
*/
|
*/
|
||||||
readonly canvasSize: ReadonlyVec2;
|
readonly canvasSize: ReadonlyVec2;
|
||||||
|
|
||||||
|
|
@ -26,7 +26,7 @@ export interface Renderer {
|
||||||
/**
|
/**
|
||||||
* Set the camera transformation.
|
* Set the camera transformation.
|
||||||
*
|
*
|
||||||
* @param topLeft top (!) left. By default, equals to [0, canvasHeight].
|
* @param topLeft top (!) left. By default, equal to [0, canvasHeight].
|
||||||
* @param size need not be equal to the canvas size, though their aspect ratio
|
* @param size need not be equal to the canvas size, though their aspect ratio
|
||||||
* should be the same to avoid stretching.
|
* should be the same to avoid stretching.
|
||||||
*/
|
*/
|
||||||
|
|
@ -89,9 +89,9 @@ export interface Renderer {
|
||||||
/**
|
/**
|
||||||
* Get useful information about the hardware and the SDF2D renderer.
|
* Get useful information about the hardware and the SDF2D renderer.
|
||||||
*
|
*
|
||||||
* Its scheme is subject to change.
|
* Its schema is subject to change.
|
||||||
*
|
*
|
||||||
* During context lost it might be null.
|
* During a context-lost event, it might be null.
|
||||||
*/
|
*/
|
||||||
readonly insights: RendererInfo | null;
|
readonly insights: RendererInfo | null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,16 +9,16 @@ import { TextureWithOptions } from '../../graphics-library/texture/texture-optio
|
||||||
*/
|
*/
|
||||||
export interface RuntimeSettings {
|
export interface RuntimeSettings {
|
||||||
/**
|
/**
|
||||||
* When set to `true` rendering will be done on the screen's real resolution.
|
* When set to `true`, rendering will be done at the screen's real resolution.
|
||||||
*/
|
*/
|
||||||
enableHighDpiRendering: boolean;
|
enableHighDpiRendering: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* First, the SDF of the scene is evaluated at every single pixel.
|
* First, the SDF of the scene is evaluated at every single pixel.
|
||||||
* For speeding this process up, the screen is divided up into tiles,
|
* To speed this process up, the screen is divided into tiles,
|
||||||
* this way each having to deal with a fewer objects.
|
* so each one has to deal with fewer objects.
|
||||||
*
|
*
|
||||||
* For each tile, it is decided which objects are near its close vicinity.
|
* For each tile, it is decided which objects are in its vicinity.
|
||||||
* This comes with some overhead for the CPU, while saving the GPU from loads of
|
* This comes with some overhead for the CPU, while saving the GPU from loads of
|
||||||
* calculations. The workload can be balanced between the CPU and the GPU by setting
|
* calculations. The workload can be balanced between the CPU and the GPU by setting
|
||||||
* this number.
|
* this number.
|
||||||
|
|
@ -27,24 +27,24 @@ export interface RuntimeSettings {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* By default, every pixel is outside of objects. Flipping this value to `true` will
|
* By default, every pixel is outside of objects. Flipping this value to `true` will
|
||||||
* result in every pixel being inside a large object. From then it only makes sense to
|
* result in every pixel being inside a large object. From then on, it only makes sense to
|
||||||
* draw inverted objects.
|
* draw inverted objects.
|
||||||
*/
|
*/
|
||||||
isWorldInverted: boolean;
|
isWorldInverted: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When lights reach the end of the display, they are slowly faded out. The length
|
* When lights reach the edge of the display, they are slowly faded out. The length
|
||||||
* of this phaseout can be set through this value.
|
* of this fade-out can be set through this value.
|
||||||
*/
|
*/
|
||||||
lightCutoffDistance: number;
|
lightCutoffDistance: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Its length should be less than the one specified in [[StartupSettings]].paletteSize.
|
|
||||||
*
|
|
||||||
* The possible colors for the objects. Each color is referenced by its index in the
|
* The possible colors for the objects. Each color is referenced by its index in the
|
||||||
* palette.
|
* palette.
|
||||||
*
|
*
|
||||||
* Can have transparency, but only if WebGL2 support is enabled.
|
* Its length should be less than the `paletteSize` specified in [[StartupSettings]].
|
||||||
|
*
|
||||||
|
* Colors can have transparency, but only if WebGL2 support is enabled.
|
||||||
*/
|
*/
|
||||||
colorPalette: Array<vec3 | vec4>;
|
colorPalette: Array<vec3 | vec4>;
|
||||||
|
|
||||||
|
|
@ -76,10 +76,10 @@ export interface RuntimeSettings {
|
||||||
/**
|
/**
|
||||||
* It is possible to use your own textures in your SDF definitions.
|
* It is possible to use your own textures in your SDF definitions.
|
||||||
*
|
*
|
||||||
* The keys of the object should be the name used to reference them in the GLSL code,
|
* The keys of the object should be the names used to reference them in the GLSL code,
|
||||||
* and the values should be the textures themselves or a TextureWithOptions specifying
|
* and the values should be the textures themselves, or a TextureWithOptions specifying
|
||||||
* the texture's [[TextureOptions]].
|
* the texture's [[TextureOptions]].
|
||||||
* It can be a canvas, img element, Image and so on.
|
* A texture can be a canvas, an img element, an Image, and so on.
|
||||||
*/
|
*/
|
||||||
textures: {
|
textures: {
|
||||||
[textureName: string]: TexImageSource | TextureWithOptions;
|
[textureName: string]: TexImageSource | TextureWithOptions;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ export interface StartupSettings {
|
||||||
* Creates a stopwatch used for measuring the GPU render time
|
* Creates a stopwatch used for measuring the GPU render time
|
||||||
* when its required extension is available.
|
* when its required extension is available.
|
||||||
*
|
*
|
||||||
* You should only have one renderer with enabled stopwatch.
|
* You should only have one renderer with the stopwatch enabled.
|
||||||
*/
|
*/
|
||||||
enableStopwatch: boolean;
|
enableStopwatch: boolean;
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@ export interface StartupSettings {
|
||||||
* Sensible values for this are between 8 and 32.
|
* Sensible values for this are between 8 and 32.
|
||||||
*
|
*
|
||||||
* The higher the number, the harder the shadows will get.
|
* The higher the number, the harder the shadows will get.
|
||||||
* Some ambient occlusion like effects can be visible on lower trace counts.
|
* Some ambient-occlusion-like effects can be visible at lower trace counts.
|
||||||
*/
|
*/
|
||||||
shadowTraceCount: number;
|
shadowTraceCount: number;
|
||||||
|
|
||||||
|
|
@ -55,7 +55,7 @@ export interface StartupSettings {
|
||||||
paletteSize: number;
|
paletteSize: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Many context lost event will be simulated when enabled.
|
* Many context-lost events will be simulated when enabled.
|
||||||
*
|
*
|
||||||
* Useful for testing.
|
* Useful for testing.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
/**
|
/**
|
||||||
* A helper class for calculating the elapsed time between frames.
|
* A helper class for calculating the elapsed time between frames.
|
||||||
*
|
*
|
||||||
* Handles the case, where the browser tab is not in focus and `requestAnimationFrame`
|
* Handles the case where the browser tab is not in focus and `requestAnimationFrame`
|
||||||
* does not get called for performance reasons. In this case, the return deltaTime won't be
|
* does not get called for performance reasons. In this case, the returned deltaTime won't be
|
||||||
* an unreasonably large value.
|
* an unreasonably large value.
|
||||||
*/
|
*/
|
||||||
export class DeltaTimeCalculator {
|
export class DeltaTimeCalculator {
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@ import { DrawableDescriptor, Renderer } from './main';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements the boilerplate code required to run real-time animations
|
* 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`
|
* in the browser. An FPS-based autoscaler is also used. This creates an additional `fps`
|
||||||
* key in the renderers `insights` property.
|
* key in the renderer's `insights` property.
|
||||||
*
|
*
|
||||||
* Example usage:
|
* Example usage:
|
||||||
*
|
*
|
||||||
|
|
@ -17,7 +17,7 @@ import { DrawableDescriptor, Renderer } from './main';
|
||||||
* <canvas id="main" style="width: 300px; height: 150px"></canvas>
|
* <canvas id="main" style="width: 300px; height: 150px"></canvas>
|
||||||
* ```
|
* ```
|
||||||
* > The canvas needs to have a fixed size specified by CSS.
|
* > The canvas needs to have a fixed size specified by CSS.
|
||||||
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import { CircleFactory, CircleLight, hsl, runAnimation } from 'sdf-2d';
|
* import { CircleFactory, CircleLight, hsl, runAnimation } from 'sdf-2d';
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue