Finish documentation

This commit is contained in:
schmelczerandras 2020-09-28 16:26:55 +02:00
parent 49473bf905
commit 31fcfd3d6b
86 changed files with 1383 additions and 8485 deletions

View file

@ -1,6 +1,7 @@
import { UniversalRenderingContext } from '../universal-rendering-context';
import { FrameBuffer } from './frame-buffer';
/** @internal */
export class DefaultFrameBuffer extends FrameBuffer {
constructor(gl: UniversalRenderingContext) {
super(gl);

View file

@ -1,9 +1,10 @@
import { vec2 } from 'gl-matrix';
import { UniversalRenderingContext } from '../universal-rendering-context';
/** @internal */
export abstract class FrameBuffer {
public renderScale = 1;
public enableHighDpiRendering = false;
public enableHighDpiRendering!: boolean;
protected size = vec2.create();

View file

@ -2,6 +2,7 @@ import { enableExtension } from '../helper/enable-extension';
import { UniversalRenderingContext } from '../universal-rendering-context';
import { FrameBuffer } from './frame-buffer';
/** @internal */
export class IntermediateFrameBuffer extends FrameBuffer {
private frameTexture: WebGLTexture;
private floatEnabled = false;

View file

@ -1,5 +1,7 @@
/** @internal */
let isEnabled = false;
/** @internal */
export const enableContextLostSimulator = (canvas: HTMLCanvasElement) => {
if (isEnabled) {
return;

View file

@ -1,6 +1,7 @@
import { Insights } from '../../rendering/insights';
import { UniversalRenderingContext } from '../universal-rendering-context';
/** @internal */
export const tryEnableExtension = (
gl: UniversalRenderingContext,
name: string
@ -15,6 +16,7 @@ export const tryEnableExtension = (
return extension;
};
/** @internal */
export const enableExtension = (gl: UniversalRenderingContext, name: string): any => {
const extension = tryEnableExtension(gl, name);

View file

@ -1,8 +1,10 @@
import { mat3, ReadonlyVec3, ReadonlyVec4, vec2, vec3, vec4 } from 'gl-matrix';
import { UniversalRenderingContext } from '../universal-rendering-context';
/** @internal */
const loaderMat3 = mat3.create();
/** @internal */
export const loadUniform = (
gl: UniversalRenderingContext,
value: any,

View file

@ -1,12 +1,14 @@
import { UniversalRenderingContext } from '../universal-rendering-context';
import { enableExtension } from './enable-extension';
/** @internal */
enum StopwatchState {
ready = 'ready',
running = 'running',
waitingForResults = 'waitingForResults',
}
/** @internal */
export class WebGlStopwatch {
private state = StopwatchState.ready;
private resultsInNanoSeconds = 0;

View file

@ -1,6 +1,7 @@
import { vec3, vec4 } from 'gl-matrix';
import { UniversalRenderingContext } from './universal-rendering-context';
/** @internal */
export class PaletteTexture {
private texture: WebGLTexture;

View file

@ -3,6 +3,7 @@ import { Insights } from '../rendering/insights';
import { tryEnableExtension } from './helper/enable-extension';
import { UniversalRenderingContext } from './universal-rendering-context';
/** @internal */
type CompilingProgram = {
program: WebGLProgram;
resolvePromise: ((program: WebGLProgram) => void) | null;
@ -10,8 +11,10 @@ type CompilingProgram = {
fragmentShader: ShaderWithSource;
};
/** @internal */
type ShaderWithSource = WebGLShader & { source: string };
/** @internal */
export class ParallelCompiler {
private extension?: any;
private gl: UniversalRenderingContext;

View file

@ -3,6 +3,7 @@ import { ParallelCompiler } from '../parallel-compiler';
import { UniversalRenderingContext } from '../universal-rendering-context';
import Program from './program';
/** @internal */
export class FragmentShaderOnlyProgram extends Program {
private vao?: WebGLVertexArrayObject;
private vertexArrayExtension: any;

View file

@ -1,5 +1,6 @@
import { vec2 } from 'gl-matrix';
/** @internal */
export interface IProgram {
setDrawingRectangleUV(bottomLeft: vec2, size: vec2): void;
draw(values: { [name: string]: any }): void;

View file

@ -4,6 +4,7 @@ import { ParallelCompiler } from '../parallel-compiler';
import { UniversalRenderingContext } from '../universal-rendering-context';
import { IProgram } from './i-program';
/** @internal */
export default abstract class Program implements IProgram {
protected program?: WebGLProgram;

View file

@ -7,6 +7,7 @@ import { UniversalRenderingContext } from '../universal-rendering-context';
import { FragmentShaderOnlyProgram } from './fragment-shader-only-program';
import { IProgram } from './i-program';
/** @internal */
export class UniformArrayAutoScalingProgram implements IProgram {
private programs: Array<{
program: FragmentShaderOnlyProgram;

View file

@ -1,8 +1,10 @@
import { Insights } from '../rendering/insights';
/** @internal */
export type UniversalRenderingContext = WebGL2RenderingContext &
WebGLRenderingContext & { isWebGL2: boolean };
/** @internal */
export const getUniversalRenderingContext = (
canvas: HTMLCanvasElement,
ignoreWebGL2 = false