@dunes/render 0.9.26 → 0.9.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/engine/Canvas.d.ts +1 -7
- package/lib/engine/Canvas.d.ts.map +1 -1
- package/lib/engine/Canvas.js +35 -23
- package/lib/engine/Canvas.js.map +1 -1
- package/lib/engine/Engine.d.ts +1 -16
- package/lib/engine/Engine.d.ts.map +1 -1
- package/lib/engine/Engine.js +60 -49
- package/lib/engine/Engine.js.map +1 -1
- package/lib/index.d.ts +1 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -2
- package/lib/index.js.map +1 -1
- package/lib/program/Program.d.ts +3 -2
- package/lib/program/Program.d.ts.map +1 -1
- package/lib/program/Program.js +31 -29
- package/lib/program/Program.js.map +1 -1
- package/lib/program/Vao.d.ts +16 -0
- package/lib/program/Vao.d.ts.map +1 -0
- package/lib/program/Vao.js +75 -0
- package/lib/program/Vao.js.map +1 -0
- package/package.json +2 -2
- package/tsconfig.json +21 -2
package/lib/engine/Canvas.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../src/engine/Canvas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../src/engine/Canvas.ts"],"names":[],"mappings":""}
|
package/lib/engine/Canvas.js
CHANGED
|
@@ -1,24 +1,36 @@
|
|
|
1
|
-
export class Canvas
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
// export class Canvas
|
|
2
|
+
// {
|
|
3
|
+
// #canvas: HTMLCanvasElement
|
|
4
|
+
export {};
|
|
5
|
+
// constructor(id: string)
|
|
6
|
+
// constructor(c: HTMLElement)
|
|
7
|
+
// constructor(c: string | HTMLElement)
|
|
8
|
+
// {
|
|
9
|
+
// if (typeof c == "string")
|
|
10
|
+
// {
|
|
11
|
+
// this.#canvas = document.querySelector<
|
|
12
|
+
// HTMLCanvasElement>(c)!;
|
|
13
|
+
// }
|
|
14
|
+
// else
|
|
15
|
+
// {
|
|
16
|
+
// this.#canvas = c as HTMLCanvasElement;
|
|
17
|
+
// }
|
|
18
|
+
// if (!(this.#canvas instanceof HTMLCanvasElement))
|
|
19
|
+
// {
|
|
20
|
+
// throw "Canvas was not loaded properly";
|
|
21
|
+
// }
|
|
22
|
+
// }
|
|
23
|
+
// makeContextCurrent()
|
|
24
|
+
// {
|
|
25
|
+
// GL = this.#canvas.getContext("webgl2")!;
|
|
26
|
+
// if (!GL)
|
|
27
|
+
// {
|
|
28
|
+
// throw "Could not initialize WebGL2 context";
|
|
29
|
+
// }
|
|
30
|
+
// }
|
|
31
|
+
// get rect()
|
|
32
|
+
// {
|
|
33
|
+
// return this.#canvas.getBoundingClientRect();
|
|
34
|
+
// }
|
|
35
|
+
// }
|
|
24
36
|
//# sourceMappingURL=Canvas.js.map
|
package/lib/engine/Canvas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Canvas.js","sourceRoot":"","sources":["../../src/engine/Canvas.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Canvas.js","sourceRoot":"","sources":["../../src/engine/Canvas.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,IAAI;AACJ,+BAA+B;;AAE/B,4BAA4B;AAC5B,gCAAgC;AAChC,yCAAyC;AACzC,MAAM;AACN,gCAAgC;AAChC,QAAQ;AACR,+CAA+C;AAC/C,kCAAkC;AAClC,QAAQ;AACR,WAAW;AACX,QAAQ;AACR,+CAA+C;AAC/C,QAAQ;AAER,wDAAwD;AACxD,QAAQ;AACR,gDAAgD;AAChD,QAAQ;AACR,MAAM;AAEN,yBAAyB;AACzB,MAAM;AACN,+CAA+C;AAC/C,eAAe;AACf,QAAQ;AACR,qDAAqD;AACrD,QAAQ;AACR,MAAM;AAEN,eAAe;AACf,MAAM;AACN,mDAAmD;AACnD,MAAM;AACN,IAAI"}
|
package/lib/engine/Engine.d.ts
CHANGED
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
#private;
|
|
3
|
-
constructor();
|
|
4
|
-
deltaFrames: number;
|
|
5
|
-
deltaUpdates: number;
|
|
6
|
-
fps: number;
|
|
7
|
-
upd: number;
|
|
8
|
-
delay: number;
|
|
9
|
-
update_d: number;
|
|
10
|
-
run(): Promise<void>;
|
|
11
|
-
protected abstract init(): Promise<void>;
|
|
12
|
-
protected abstract render(): Promise<void>;
|
|
13
|
-
protected abstract update(): Promise<void>;
|
|
14
|
-
protected abstract conclude(): Promise<void>;
|
|
15
|
-
protected quit(): Promise<void>;
|
|
16
|
-
}
|
|
1
|
+
export {};
|
|
17
2
|
//# sourceMappingURL=Engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":""}
|
package/lib/engine/Engine.js
CHANGED
|
@@ -1,50 +1,61 @@
|
|
|
1
|
-
export class Engine
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
// export abstract class Engine
|
|
2
|
+
// {
|
|
3
|
+
// constructor()
|
|
4
|
+
// {}
|
|
5
|
+
export {};
|
|
6
|
+
// #running = true;
|
|
7
|
+
// #lastFrameTime = 0;
|
|
8
|
+
// deltaFrames = 0;
|
|
9
|
+
// #lastUpdateTime = 0;
|
|
10
|
+
// deltaUpdates = 0;
|
|
11
|
+
// fps = 0;
|
|
12
|
+
// upd = 0;
|
|
13
|
+
// delay = 10;
|
|
14
|
+
// update_d = 0.1;
|
|
15
|
+
// public async run()
|
|
16
|
+
// {
|
|
17
|
+
// await this.init();
|
|
18
|
+
// this.#lastFrameTime = Date.now();
|
|
19
|
+
// this.fps = 0;
|
|
20
|
+
// while(this.#running)
|
|
21
|
+
// {
|
|
22
|
+
// await this.#render();
|
|
23
|
+
// await this.#update();
|
|
24
|
+
// const error = GL.getError();
|
|
25
|
+
// if (error !== GL.NO_ERROR) {
|
|
26
|
+
// console.error('WebGL error:', error);
|
|
27
|
+
// break;
|
|
28
|
+
// }
|
|
29
|
+
// if (this.delay)
|
|
30
|
+
// {
|
|
31
|
+
// await new Promise(res => setTimeout(res, this.delay));
|
|
32
|
+
// }
|
|
33
|
+
// }
|
|
34
|
+
// await this.conclude();
|
|
35
|
+
// }
|
|
36
|
+
// async #render()
|
|
37
|
+
// {
|
|
38
|
+
// await this.render();
|
|
39
|
+
// this.deltaFrames = (Date.now() - this.#lastFrameTime) / 1000;
|
|
40
|
+
// this.#lastFrameTime = Date.now();
|
|
41
|
+
// this.fps = 1/this.deltaFrames;
|
|
42
|
+
// }
|
|
43
|
+
// async #update()
|
|
44
|
+
// {
|
|
45
|
+
// const delta = (Date.now() - this.#lastUpdateTime) / 1000;
|
|
46
|
+
// if (delta < this.update_d) return;
|
|
47
|
+
// await this.update();
|
|
48
|
+
// this.deltaUpdates = delta;
|
|
49
|
+
// this.#lastUpdateTime = Date.now();
|
|
50
|
+
// this.upd = 1/this.deltaUpdates;
|
|
51
|
+
// }
|
|
52
|
+
// protected abstract init(): Promise<void>;
|
|
53
|
+
// protected abstract render(): Promise<void>;
|
|
54
|
+
// protected abstract update(): Promise<void>;
|
|
55
|
+
// protected abstract conclude(): Promise<void>;
|
|
56
|
+
// protected async quit()
|
|
57
|
+
// {
|
|
58
|
+
// this.#running = false;
|
|
59
|
+
// };
|
|
60
|
+
// }
|
|
50
61
|
//# sourceMappingURL=Engine.js.map
|
package/lib/engine/Engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/engine/Engine.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,IAAI;AACJ,kBAAkB;AAClB,OAAO;;AAEP,qBAAqB;AAErB,wBAAwB;AACxB,sBAAsB;AAEtB,yBAAyB;AACzB,uBAAuB;AAEvB,aAAa;AACb,aAAa;AAEb,gBAAgB;AAChB,qBAAqB;AAErB,uBAAuB;AACvB,MAAM;AACN,yBAAyB;AAEzB,wCAAwC;AACxC,oBAAoB;AAEpB,2BAA2B;AAC3B,QAAQ;AACR,8BAA8B;AAC9B,8BAA8B;AAE9B,qCAAqC;AACrC,qCAAqC;AACrC,gDAAgD;AAChD,iBAAiB;AACjB,UAAU;AAEV,wBAAwB;AACxB,UAAU;AACV,iEAAiE;AACjE,UAAU;AACV,QAAQ;AACR,6BAA6B;AAC7B,MAAM;AAEN,oBAAoB;AACpB,MAAM;AACN,2BAA2B;AAE3B,oEAAoE;AACpE,wCAAwC;AACxC,qCAAqC;AACrC,MAAM;AAEN,oBAAoB;AACpB,MAAM;AACN,gEAAgE;AAChE,yCAAyC;AAEzC,2BAA2B;AAE3B,iCAAiC;AACjC,yCAAyC;AACzC,sCAAsC;AACtC,MAAM;AAEN,8CAA8C;AAC9C,gDAAgD;AAChD,gDAAgD;AAChD,kDAAkD;AAElD,2BAA2B;AAC3B,MAAM;AACN,6BAA6B;AAC7B,OAAO;AACP,IAAI"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAGhC,OAAO,CAAC,MAAM,CACd;CAEC"}
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,qCAAqC;AACrC,qCAAqC;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA"}
|
package/lib/program/Program.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
export declare class Program {
|
|
2
2
|
#private;
|
|
3
|
-
|
|
3
|
+
private GL;
|
|
4
|
+
constructor(GL: WebGL2RenderingContext);
|
|
4
5
|
get program(): WebGLProgram;
|
|
5
6
|
onVertex(source: string): void;
|
|
6
7
|
onFragment(source: string): void;
|
|
7
8
|
link(): void;
|
|
8
9
|
use(): void;
|
|
9
10
|
unuse(): void;
|
|
10
|
-
private
|
|
11
|
+
private createShader;
|
|
11
12
|
uniform(name: string): WebGLUniformLocation | null;
|
|
12
13
|
setBool(name: string, value: boolean): void;
|
|
13
14
|
setInt(name: string, value: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Program.d.ts","sourceRoot":"","sources":["../../src/program/Program.ts"],"names":[],"mappings":"AACA,qBAAa,OAAO
|
|
1
|
+
{"version":3,"file":"Program.d.ts","sourceRoot":"","sources":["../../src/program/Program.ts"],"names":[],"mappings":"AACA,qBAAa,OAAO;;IAIN,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,sBAAsB;IAS9C,IAAW,OAAO,iBAGjB;IAEM,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM9B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC,IAAI,IAAI,IAAI;IAUZ,GAAG,IAAI,IAAI;IAKX,KAAK,IAAI,IAAI;IAKpB,OAAO,CAAC,YAAY;IAgBb,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAKlD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAQpC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQlC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQpC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAQvE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAQvE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAQvE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,UAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAQ1F,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,UAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAQ1F,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,UAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAOlG"}
|
package/lib/program/Program.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export class Program {
|
|
2
|
+
GL;
|
|
2
3
|
#program;
|
|
3
|
-
constructor() {
|
|
4
|
-
this
|
|
4
|
+
constructor(GL) {
|
|
5
|
+
this.GL = GL;
|
|
6
|
+
this.#program = this.GL.createProgram();
|
|
5
7
|
if (!this.#program) {
|
|
6
8
|
console.log("Failed to create program");
|
|
7
9
|
}
|
|
@@ -10,65 +12,65 @@ export class Program {
|
|
|
10
12
|
return this.#program;
|
|
11
13
|
}
|
|
12
14
|
onVertex(source) {
|
|
13
|
-
const shader =
|
|
14
|
-
GL.attachShader(this.#program, shader);
|
|
15
|
+
const shader = this.createShader(this.GL, source, this.GL.VERTEX_SHADER);
|
|
16
|
+
this.GL.attachShader(this.#program, shader);
|
|
15
17
|
}
|
|
16
18
|
onFragment(source) {
|
|
17
|
-
const shader =
|
|
18
|
-
GL.attachShader(this.#program, shader);
|
|
19
|
+
const shader = this.createShader(this.GL, source, this.GL.FRAGMENT_SHADER);
|
|
20
|
+
this.GL.attachShader(this.#program, shader);
|
|
19
21
|
}
|
|
20
22
|
link() {
|
|
21
|
-
GL.linkProgram(this.#program);
|
|
22
|
-
if (!GL.getProgramParameter(this.#program, GL.LINK_STATUS)) {
|
|
23
|
-
const info = GL.getProgramInfoLog(this.#program);
|
|
23
|
+
this.GL.linkProgram(this.#program);
|
|
24
|
+
if (!this.GL.getProgramParameter(this.#program, this.GL.LINK_STATUS)) {
|
|
25
|
+
const info = this.GL.getProgramInfoLog(this.#program);
|
|
24
26
|
throw `Could not compile WebGL program. \n\n${info}`;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
use() {
|
|
28
|
-
GL.useProgram(this.#program);
|
|
30
|
+
this.GL.useProgram(this.#program);
|
|
29
31
|
}
|
|
30
32
|
unuse() {
|
|
31
|
-
GL.useProgram(null);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const shader = GL.createShader(type);
|
|
35
|
-
GL.shaderSource(shader, source);
|
|
36
|
-
GL.compileShader(shader);
|
|
37
|
-
if (!GL.getShaderParameter(shader, GL.COMPILE_STATUS)) {
|
|
38
|
-
const info = GL.getShaderInfoLog(shader);
|
|
39
|
-
throw `Could not compile ${type == GL.VERTEX_SHADER ? "vertex" : "fragment"} shader. \n\n${info}`;
|
|
33
|
+
this.GL.useProgram(null);
|
|
34
|
+
}
|
|
35
|
+
createShader(GL, source, type) {
|
|
36
|
+
const shader = this.GL.createShader(type);
|
|
37
|
+
this.GL.shaderSource(shader, source);
|
|
38
|
+
this.GL.compileShader(shader);
|
|
39
|
+
if (!this.GL.getShaderParameter(shader, this.GL.COMPILE_STATUS)) {
|
|
40
|
+
const info = this.GL.getShaderInfoLog(shader);
|
|
41
|
+
throw `Could not compile ${type == this.GL.VERTEX_SHADER ? "vertex" : "fragment"} shader. \n\n${info}`;
|
|
40
42
|
}
|
|
41
43
|
return shader;
|
|
42
44
|
}
|
|
43
45
|
uniform(name) {
|
|
44
|
-
return GL.getUniformLocation(this.#program, name);
|
|
46
|
+
return this.GL.getUniformLocation(this.#program, name);
|
|
45
47
|
}
|
|
46
48
|
setBool(name, value) {
|
|
47
|
-
GL.uniform1i(GL.getUniformLocation(this.#program, name), value ? 1 : 0);
|
|
49
|
+
this.GL.uniform1i(this.GL.getUniformLocation(this.#program, name), value ? 1 : 0);
|
|
48
50
|
}
|
|
49
51
|
setInt(name, value) {
|
|
50
|
-
GL.uniform1i(GL.getUniformLocation(this.#program, name), value);
|
|
52
|
+
this.GL.uniform1i(this.GL.getUniformLocation(this.#program, name), value);
|
|
51
53
|
}
|
|
52
54
|
setFloat(name, value) {
|
|
53
|
-
GL.uniform1f(GL.getUniformLocation(this.#program, name), value);
|
|
55
|
+
this.GL.uniform1f(this.GL.getUniformLocation(this.#program, name), value);
|
|
54
56
|
}
|
|
55
57
|
setVec2(name, value, offset, length) {
|
|
56
|
-
GL.uniform2fv(GL.getUniformLocation(this.#program, name), value, offset, length);
|
|
58
|
+
this.GL.uniform2fv(this.GL.getUniformLocation(this.#program, name), value, offset, length);
|
|
57
59
|
}
|
|
58
60
|
setVec3(name, value, offset, length) {
|
|
59
|
-
GL.uniform3fv(GL.getUniformLocation(this.#program, name), value, offset, length);
|
|
61
|
+
this.GL.uniform3fv(this.GL.getUniformLocation(this.#program, name), value, offset, length);
|
|
60
62
|
}
|
|
61
63
|
setVec4(name, value, offset, length) {
|
|
62
|
-
GL.uniform4fv(GL.getUniformLocation(this.#program, name), value, offset, length);
|
|
64
|
+
this.GL.uniform4fv(this.GL.getUniformLocation(this.#program, name), value, offset, length);
|
|
63
65
|
}
|
|
64
66
|
setMat2(name, value, transpose = false, offset, length) {
|
|
65
|
-
GL.uniformMatrix2fv(GL.getUniformLocation(this.#program, name), transpose, value, offset, length);
|
|
67
|
+
this.GL.uniformMatrix2fv(this.GL.getUniformLocation(this.#program, name), transpose, value, offset, length);
|
|
66
68
|
}
|
|
67
69
|
setMat3(name, value, transpose = false, offset, length) {
|
|
68
|
-
GL.uniformMatrix3fv(GL.getUniformLocation(this.#program, name), transpose, value, offset, length);
|
|
70
|
+
this.GL.uniformMatrix3fv(this.GL.getUniformLocation(this.#program, name), transpose, value, offset, length);
|
|
69
71
|
}
|
|
70
72
|
setMat4(name, value, transpose = false, offset, length) {
|
|
71
|
-
GL.uniformMatrix4fv(GL.getUniformLocation(this.#program, name), transpose, value, offset, length);
|
|
73
|
+
this.GL.uniformMatrix4fv(this.GL.getUniformLocation(this.#program, name), transpose, value, offset, length);
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
//# sourceMappingURL=Program.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Program.js","sourceRoot":"","sources":["../../src/program/Program.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,OAAO;
|
|
1
|
+
{"version":3,"file":"Program.js","sourceRoot":"","sources":["../../src/program/Program.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class Vao {
|
|
2
|
+
private gl;
|
|
3
|
+
private vao;
|
|
4
|
+
private vertexBuffer;
|
|
5
|
+
private indexBuffer;
|
|
6
|
+
private indexCount;
|
|
7
|
+
private vertexCount;
|
|
8
|
+
private indexType;
|
|
9
|
+
constructor(gl: WebGL2RenderingContext);
|
|
10
|
+
setVertices(data: Float32Array, attributeLocation: number, size: number, usage?: GLenum): void;
|
|
11
|
+
setIndices(data: Uint16Array | Uint32Array, usage?: GLenum): void;
|
|
12
|
+
bind(): void;
|
|
13
|
+
unbind(): void;
|
|
14
|
+
draw(mode?: GLenum): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=Vao.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Vao.d.ts","sourceRoot":"","sources":["../../src/program/Vao.ts"],"names":[],"mappings":"AAAA,qBAAa,GAAG;IACd,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,SAAS,CAAa;gBAElB,EAAE,EAAE,sBAAsB;IAStC,WAAW,CACT,IAAI,EAAE,YAAY,EAClB,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAA4B,GAClC,IAAI;IA4BP,UAAU,CACR,IAAI,EAAE,WAAW,GAAG,WAAW,EAC/B,KAAK,GAAE,MAA4B,GAClC,IAAI;IA0BP,IAAI,IAAI,IAAI;IAIZ,MAAM,IAAI,IAAI;IAId,IAAI,CAAC,IAAI,GAAE,MAA0B,GAAG,IAAI;CAY7C"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export class Vao {
|
|
2
|
+
gl;
|
|
3
|
+
vao;
|
|
4
|
+
vertexBuffer = null;
|
|
5
|
+
indexBuffer = null;
|
|
6
|
+
indexCount = 0;
|
|
7
|
+
vertexCount = 0;
|
|
8
|
+
indexType = 0;
|
|
9
|
+
constructor(gl) {
|
|
10
|
+
this.gl = gl;
|
|
11
|
+
const vao = this.gl.createVertexArray();
|
|
12
|
+
if (vao === null) {
|
|
13
|
+
throw new Error("Unable to create VAO");
|
|
14
|
+
}
|
|
15
|
+
this.vao = vao;
|
|
16
|
+
}
|
|
17
|
+
setVertices(data, attributeLocation, size, usage = this.gl.STATIC_DRAW) {
|
|
18
|
+
const { gl, vao } = this;
|
|
19
|
+
if (!this.vertexBuffer) {
|
|
20
|
+
this.vertexBuffer = gl.createBuffer();
|
|
21
|
+
if (this.vertexBuffer === null) {
|
|
22
|
+
throw new Error("Unable to create vertex buffer");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
gl.bindVertexArray(vao);
|
|
26
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexBuffer);
|
|
27
|
+
gl.bufferData(gl.ARRAY_BUFFER, data, usage);
|
|
28
|
+
gl.enableVertexAttribArray(attributeLocation);
|
|
29
|
+
gl.vertexAttribPointer(attributeLocation, size, gl.FLOAT, false, 0, 0);
|
|
30
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, null);
|
|
31
|
+
gl.bindVertexArray(null);
|
|
32
|
+
this.vertexCount = data.length / size;
|
|
33
|
+
}
|
|
34
|
+
setIndices(data, usage = this.gl.STATIC_DRAW) {
|
|
35
|
+
const { gl, vao } = this;
|
|
36
|
+
if (data instanceof Uint32Array) {
|
|
37
|
+
this.indexType = gl.UNSIGNED_INT;
|
|
38
|
+
}
|
|
39
|
+
else if (data instanceof Uint16Array) {
|
|
40
|
+
this.indexType = gl.UNSIGNED_SHORT;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new Error("Index data must be Uint16Array or Uint32Array");
|
|
44
|
+
}
|
|
45
|
+
if (!this.indexBuffer) {
|
|
46
|
+
this.indexBuffer = gl.createBuffer();
|
|
47
|
+
if (this.indexBuffer === null) {
|
|
48
|
+
throw new Error("Unable to create index buffer");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
gl.bindVertexArray(vao);
|
|
52
|
+
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.indexBuffer);
|
|
53
|
+
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, data, usage);
|
|
54
|
+
gl.bindVertexArray(null);
|
|
55
|
+
this.indexCount = data.length;
|
|
56
|
+
}
|
|
57
|
+
bind() {
|
|
58
|
+
this.gl.bindVertexArray(this.vao);
|
|
59
|
+
}
|
|
60
|
+
unbind() {
|
|
61
|
+
this.gl.bindVertexArray(null);
|
|
62
|
+
}
|
|
63
|
+
draw(mode = this.gl.TRIANGLES) {
|
|
64
|
+
const { gl, indexBuffer, indexCount, vertexCount, indexType } = this;
|
|
65
|
+
this.bind();
|
|
66
|
+
if (indexBuffer && indexCount > 0) {
|
|
67
|
+
gl.drawElements(mode, indexCount, indexType, 0);
|
|
68
|
+
}
|
|
69
|
+
else if (vertexCount > 0) {
|
|
70
|
+
gl.drawArrays(mode, 0, vertexCount);
|
|
71
|
+
}
|
|
72
|
+
this.unbind();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=Vao.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Vao.js","sourceRoot":"","sources":["../../src/program/Vao.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dunes/render",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.28",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"author": "Omar <omarfkuri@gmail.com>",
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
|
-
"url": "git://github.com/
|
|
20
|
+
"url": "git://github.com/dunes-js/render.git"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@dunes/tools": "^0.9.60"
|
package/tsconfig.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
"exclude": ["test", "lib"],
|
|
4
3
|
"compilerOptions": {
|
|
5
4
|
"outDir": "lib",
|
|
6
5
|
"declaration": true,
|
|
@@ -11,5 +10,25 @@
|
|
|
11
10
|
|
|
12
11
|
"sourceMap": true,
|
|
13
12
|
"declarationMap": true,
|
|
13
|
+
|
|
14
|
+
"verbatimModuleSyntax": true,
|
|
15
|
+
"target": "ES2022",
|
|
16
|
+
"module": "NodeNext",
|
|
17
|
+
"moduleResolution": "NodeNext",
|
|
18
|
+
"esModuleInterop": true,
|
|
19
|
+
"forceConsistentCasingInFileNames": true,
|
|
20
|
+
"strict": true,
|
|
21
|
+
"noImplicitAny": true,
|
|
22
|
+
"strictNullChecks": true,
|
|
23
|
+
"strictFunctionTypes": true,
|
|
24
|
+
"strictBindCallApply": true,
|
|
25
|
+
"strictPropertyInitialization": true,
|
|
26
|
+
"noImplicitThis": true,
|
|
27
|
+
"useUnknownInCatchVariables": true,
|
|
28
|
+
"alwaysStrict": true,
|
|
29
|
+
"noFallthroughCasesInSwitch": true,
|
|
30
|
+
"noUncheckedIndexedAccess": true,
|
|
31
|
+
"noImplicitOverride": true,
|
|
32
|
+
"skipLibCheck": true
|
|
14
33
|
}
|
|
15
34
|
}
|