vanta-engine 1.0.2 → 1.0.3
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/dist/chunk-AAWFTQHP.js +35 -0
- package/dist/chunk-AAWFTQHP.js.map +1 -0
- package/dist/index.cjs +8407 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +755 -0
- package/dist/index.d.ts +755 -27
- package/dist/index.js +8368 -26
- package/dist/index.js.map +1 -1
- package/dist/module-A2C3IOOM.js +11 -0
- package/dist/module-A2C3IOOM.js.map +1 -0
- package/package.json +8 -7
- package/dist/engine.d.ts +0 -18
- package/dist/engine.d.ts.map +0 -1
- package/dist/engine.js +0 -23
- package/dist/engine.js.map +0 -1
- package/dist/graphics/assets/asset_format/format.d.ts +0 -115
- package/dist/graphics/assets/asset_format/format.d.ts.map +0 -1
- package/dist/graphics/assets/asset_format/format.js +0 -29
- package/dist/graphics/assets/asset_format/format.js.map +0 -1
- package/dist/graphics/assets/asset_loaders/obj.d.ts +0 -127
- package/dist/graphics/assets/asset_loaders/obj.d.ts.map +0 -1
- package/dist/graphics/assets/asset_loaders/obj.js +0 -762
- package/dist/graphics/assets/asset_loaders/obj.js.map +0 -1
- package/dist/graphics/assets/material.d.ts +0 -33
- package/dist/graphics/assets/material.d.ts.map +0 -1
- package/dist/graphics/assets/material.js +0 -104
- package/dist/graphics/assets/material.js.map +0 -1
- package/dist/graphics/assets/mesh.d.ts +0 -17
- package/dist/graphics/assets/mesh.d.ts.map +0 -1
- package/dist/graphics/assets/mesh.js +0 -47
- package/dist/graphics/assets/mesh.js.map +0 -1
- package/dist/graphics/assets/model.d.ts +0 -13
- package/dist/graphics/assets/model.d.ts.map +0 -1
- package/dist/graphics/assets/model.js +0 -18
- package/dist/graphics/assets/model.js.map +0 -1
- package/dist/graphics/assets/texture.d.ts +0 -93
- package/dist/graphics/assets/texture.d.ts.map +0 -1
- package/dist/graphics/assets/texture.js +0 -318
- package/dist/graphics/assets/texture.js.map +0 -1
- package/dist/graphics/assets/uniform_buffer.d.ts +0 -28
- package/dist/graphics/assets/uniform_buffer.d.ts.map +0 -1
- package/dist/graphics/assets/uniform_buffer.js +0 -132
- package/dist/graphics/assets/uniform_buffer.js.map +0 -1
- package/dist/graphics/assets/vaos.d.ts +0 -9
- package/dist/graphics/assets/vaos.d.ts.map +0 -1
- package/dist/graphics/assets/vaos.js +0 -98
- package/dist/graphics/assets/vaos.js.map +0 -1
- package/dist/graphics/framebuffer.d.ts +0 -77
- package/dist/graphics/framebuffer.d.ts.map +0 -1
- package/dist/graphics/framebuffer.js +0 -265
- package/dist/graphics/framebuffer.js.map +0 -1
- package/dist/graphics/graphics_manager.d.ts +0 -70
- package/dist/graphics/graphics_manager.d.ts.map +0 -1
- package/dist/graphics/graphics_manager.js +0 -503
- package/dist/graphics/graphics_manager.js.map +0 -1
- package/dist/graphics/shader_program.d.ts +0 -66
- package/dist/graphics/shader_program.d.ts.map +0 -1
- package/dist/graphics/shader_program.js +0 -92
- package/dist/graphics/shader_program.js.map +0 -1
- package/dist/graphics/utility.d.ts +0 -14
- package/dist/graphics/utility.d.ts.map +0 -1
- package/dist/graphics/utility.js +0 -81
- package/dist/graphics/utility.js.map +0 -1
- package/dist/hook_manager.d.ts +0 -33
- package/dist/hook_manager.d.ts.map +0 -1
- package/dist/hook_manager.js +0 -102
- package/dist/hook_manager.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/input/input_manager.d.ts +0 -41
- package/dist/input/input_manager.d.ts.map +0 -1
- package/dist/input/input_manager.js +0 -121
- package/dist/input/input_manager.js.map +0 -1
- package/dist/node/camera3d.d.ts +0 -10
- package/dist/node/camera3d.d.ts.map +0 -1
- package/dist/node/camera3d.js +0 -25
- package/dist/node/camera3d.js.map +0 -1
- package/dist/node/lights/directional_light.d.ts +0 -20
- package/dist/node/lights/directional_light.d.ts.map +0 -1
- package/dist/node/lights/directional_light.js +0 -111
- package/dist/node/lights/directional_light.js.map +0 -1
- package/dist/node/lights/light.d.ts +0 -15
- package/dist/node/lights/light.d.ts.map +0 -1
- package/dist/node/lights/light.js +0 -24
- package/dist/node/lights/light.js.map +0 -1
- package/dist/node/lights/point_light.d.ts +0 -26
- package/dist/node/lights/point_light.d.ts.map +0 -1
- package/dist/node/lights/point_light.js +0 -109
- package/dist/node/lights/point_light.js.map +0 -1
- package/dist/node/lights/spot_light.d.ts +0 -13
- package/dist/node/lights/spot_light.d.ts.map +0 -1
- package/dist/node/lights/spot_light.js +0 -35
- package/dist/node/lights/spot_light.js.map +0 -1
- package/dist/node/object3d.d.ts +0 -10
- package/dist/node/object3d.d.ts.map +0 -1
- package/dist/node/object3d.js +0 -60
- package/dist/node/object3d.js.map +0 -1
- package/dist/node/skybox.d.ts +0 -15
- package/dist/node/skybox.d.ts.map +0 -1
- package/dist/node/skybox.js +0 -33
- package/dist/node/skybox.js.map +0 -1
- package/dist/node/sprite2d.d.ts +0 -14
- package/dist/node/sprite2d.d.ts.map +0 -1
- package/dist/node/sprite2d.js +0 -33
- package/dist/node/sprite2d.js.map +0 -1
- package/dist/node.d.ts +0 -76
- package/dist/node.d.ts.map +0 -1
- package/dist/node.js +0 -308
- package/dist/node.js.map +0 -1
- package/dist/scene.d.ts +0 -19
- package/dist/scene.d.ts.map +0 -1
- package/dist/scene.js +0 -50
- package/dist/scene.js.map +0 -1
- package/dist/shaders/default_2d.fs.d.ts +0 -3
- package/dist/shaders/default_2d.fs.d.ts.map +0 -1
- package/dist/shaders/default_2d.fs.js +0 -14
- package/dist/shaders/default_2d.fs.js.map +0 -1
- package/dist/shaders/default_2d.vs.d.ts +0 -3
- package/dist/shaders/default_2d.vs.d.ts.map +0 -1
- package/dist/shaders/default_2d.vs.js +0 -16
- package/dist/shaders/default_2d.vs.js.map +0 -1
- package/dist/shaders/default_3d.fs.d.ts +0 -3
- package/dist/shaders/default_3d.fs.d.ts.map +0 -1
- package/dist/shaders/default_3d.fs.js +0 -327
- package/dist/shaders/default_3d.fs.js.map +0 -1
- package/dist/shaders/default_3d.vs.d.ts +0 -3
- package/dist/shaders/default_3d.vs.d.ts.map +0 -1
- package/dist/shaders/default_3d.vs.js +0 -36
- package/dist/shaders/default_3d.vs.js.map +0 -1
- package/dist/shaders/default_directional_shadow.fs.d.ts +0 -3
- package/dist/shaders/default_directional_shadow.fs.d.ts.map +0 -1
- package/dist/shaders/default_directional_shadow.fs.js +0 -6
- package/dist/shaders/default_directional_shadow.fs.js.map +0 -1
- package/dist/shaders/default_directional_shadow.vs.d.ts +0 -3
- package/dist/shaders/default_directional_shadow.vs.d.ts.map +0 -1
- package/dist/shaders/default_directional_shadow.vs.js +0 -11
- package/dist/shaders/default_directional_shadow.vs.js.map +0 -1
- package/dist/shaders/default_point_shadow.fs.d.ts +0 -3
- package/dist/shaders/default_point_shadow.fs.d.ts.map +0 -1
- package/dist/shaders/default_point_shadow.fs.js +0 -18
- package/dist/shaders/default_point_shadow.fs.js.map +0 -1
- package/dist/shaders/default_point_shadow.vs.d.ts +0 -3
- package/dist/shaders/default_point_shadow.vs.d.ts.map +0 -1
- package/dist/shaders/default_point_shadow.vs.js +0 -14
- package/dist/shaders/default_point_shadow.vs.js.map +0 -1
- package/dist/shaders/default_skybox.fs.d.ts +0 -3
- package/dist/shaders/default_skybox.fs.d.ts.map +0 -1
- package/dist/shaders/default_skybox.fs.js +0 -14
- package/dist/shaders/default_skybox.fs.js.map +0 -1
- package/dist/shaders/default_skybox.vs.d.ts +0 -3
- package/dist/shaders/default_skybox.vs.d.ts.map +0 -1
- package/dist/shaders/default_skybox.vs.js +0 -23
- package/dist/shaders/default_skybox.vs.js.map +0 -1
- package/dist/utility.d.ts +0 -5
- package/dist/utility.d.ts.map +0 -1
- package/dist/utility.js +0 -19
- package/dist/utility.js.map +0 -1
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { get_uniform_label_index, normalize_uniform_label } from "./utility.js";
|
|
2
|
-
export var WebGLUniformType;
|
|
3
|
-
(function (WebGLUniformType) {
|
|
4
|
-
WebGLUniformType[WebGLUniformType["TEXTURE_2D"] = 0] = "TEXTURE_2D";
|
|
5
|
-
WebGLUniformType[WebGLUniformType["TEXTURE_2D_ARRAY"] = 1] = "TEXTURE_2D_ARRAY";
|
|
6
|
-
WebGLUniformType[WebGLUniformType["TEXTURE_CUBE_MAP"] = 2] = "TEXTURE_CUBE_MAP";
|
|
7
|
-
WebGLUniformType[WebGLUniformType["SHADOW_2D"] = 3] = "SHADOW_2D";
|
|
8
|
-
WebGLUniformType[WebGLUniformType["SHADOW_2D_ARRAY"] = 4] = "SHADOW_2D_ARRAY";
|
|
9
|
-
WebGLUniformType[WebGLUniformType["SHADOW_CUBE_MAP"] = 5] = "SHADOW_CUBE_MAP";
|
|
10
|
-
WebGLUniformType[WebGLUniformType["STRUCT"] = 6] = "STRUCT";
|
|
11
|
-
WebGLUniformType[WebGLUniformType["F"] = 7] = "F";
|
|
12
|
-
WebGLUniformType[WebGLUniformType["I"] = 8] = "I";
|
|
13
|
-
WebGLUniformType[WebGLUniformType["B"] = 9] = "B";
|
|
14
|
-
WebGLUniformType[WebGLUniformType["F2V"] = 10] = "F2V";
|
|
15
|
-
WebGLUniformType[WebGLUniformType["I2V"] = 11] = "I2V";
|
|
16
|
-
WebGLUniformType[WebGLUniformType["F3V"] = 12] = "F3V";
|
|
17
|
-
WebGLUniformType[WebGLUniformType["I3V"] = 13] = "I3V";
|
|
18
|
-
WebGLUniformType[WebGLUniformType["F4V"] = 14] = "F4V";
|
|
19
|
-
WebGLUniformType[WebGLUniformType["I4V"] = 15] = "I4V";
|
|
20
|
-
WebGLUniformType[WebGLUniformType["F2M"] = 16] = "F2M";
|
|
21
|
-
WebGLUniformType[WebGLUniformType["F3M"] = 17] = "F3M";
|
|
22
|
-
WebGLUniformType[WebGLUniformType["F4M"] = 18] = "F4M";
|
|
23
|
-
})(WebGLUniformType || (WebGLUniformType = {}));
|
|
24
|
-
;
|
|
25
|
-
export class ShaderProgram {
|
|
26
|
-
constructor(name, gm, gl) {
|
|
27
|
-
this.shaders = [];
|
|
28
|
-
this.webgl_shader_program = null;
|
|
29
|
-
this.uniforms = {};
|
|
30
|
-
this.uniform_locs = {};
|
|
31
|
-
this.texture_counter = 0;
|
|
32
|
-
this.ubo_counter = 0;
|
|
33
|
-
this.ubos = {};
|
|
34
|
-
this.gm = gm;
|
|
35
|
-
this.gl = gl;
|
|
36
|
-
this.name = name;
|
|
37
|
-
}
|
|
38
|
-
add_shader(type, source) {
|
|
39
|
-
const shader = this.gl.createShader(type);
|
|
40
|
-
this.gl.shaderSource(shader, source);
|
|
41
|
-
this.gl.compileShader(shader);
|
|
42
|
-
if (!this.gl.getShaderParameter(shader, this.gl.COMPILE_STATUS)) {
|
|
43
|
-
console.error(this.gl.getShaderInfoLog(shader));
|
|
44
|
-
}
|
|
45
|
-
this.shaders.push(shader);
|
|
46
|
-
}
|
|
47
|
-
add_uniform(label, uniform_type) {
|
|
48
|
-
const uniform_size = Math.max(1, get_uniform_label_index(label));
|
|
49
|
-
let label_normalized = normalize_uniform_label(label);
|
|
50
|
-
label = label_normalized.replace("[]", "");
|
|
51
|
-
this.uniforms[label] = {
|
|
52
|
-
label,
|
|
53
|
-
type: uniform_type,
|
|
54
|
-
is_array: label_normalized.startsWith("[]")
|
|
55
|
-
};
|
|
56
|
-
if ([
|
|
57
|
-
WebGLUniformType.TEXTURE_2D,
|
|
58
|
-
WebGLUniformType.TEXTURE_2D_ARRAY,
|
|
59
|
-
WebGLUniformType.TEXTURE_CUBE_MAP,
|
|
60
|
-
WebGLUniformType.SHADOW_2D,
|
|
61
|
-
WebGLUniformType.SHADOW_2D_ARRAY,
|
|
62
|
-
WebGLUniformType.SHADOW_CUBE_MAP,
|
|
63
|
-
].includes(uniform_type)) {
|
|
64
|
-
this.uniforms[label].texture_unit = this.texture_counter;
|
|
65
|
-
this.texture_counter += uniform_size;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
build() {
|
|
69
|
-
this.webgl_shader_program = this.gl.createProgram();
|
|
70
|
-
for (let shader of this.shaders) {
|
|
71
|
-
this.gl.attachShader(this.webgl_shader_program, shader);
|
|
72
|
-
}
|
|
73
|
-
this.gl.linkProgram(this.webgl_shader_program);
|
|
74
|
-
if (!this.gl.getProgramParameter(this.webgl_shader_program, this.gl.LINK_STATUS)) {
|
|
75
|
-
console.error(this.gl.getProgramInfoLog(this.webgl_shader_program));
|
|
76
|
-
}
|
|
77
|
-
this.use();
|
|
78
|
-
// find uniform locs
|
|
79
|
-
for (let [label, uniform] of Object.entries(this.uniforms)) {
|
|
80
|
-
const loc = this.gl.getUniformLocation(this.webgl_shader_program, label);
|
|
81
|
-
if (!loc) {
|
|
82
|
-
console.warn(`Uniform "${label}" not in use in shader program "${this.name}".`);
|
|
83
|
-
}
|
|
84
|
-
this.uniform_locs[label] = loc;
|
|
85
|
-
}
|
|
86
|
-
this.gm.clear_shader();
|
|
87
|
-
}
|
|
88
|
-
use() {
|
|
89
|
-
this.gm.use_shader(this.name);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=shader_program.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shader_program.js","sourceRoot":"","sources":["../../src/graphics/shader_program.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare function degrees_to_radians(degrees: number): number;
|
|
2
|
-
export declare function get_uniform_label_index(raw_label: string): number;
|
|
3
|
-
export declare function normalize_uniform_label(raw_label: string): string;
|
|
4
|
-
export declare function parse_path(p: string): {
|
|
5
|
-
root: string;
|
|
6
|
-
dir: string;
|
|
7
|
-
base: string;
|
|
8
|
-
ext: string;
|
|
9
|
-
name: string;
|
|
10
|
-
};
|
|
11
|
-
export declare function join_path(...parts: string[]): string;
|
|
12
|
-
export declare function basename_path(path: string, ext?: string): string;
|
|
13
|
-
export declare function dirname_path(path: string): string;
|
|
14
|
-
//# sourceMappingURL=utility.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/graphics/utility.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,OAAO,EAAC,MAAM,GAAE,MAAM,CAExD;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAC,MAAM,GAAE,MAAM,CAG/D;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAC,MAAM,UA2BvD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM;;;;;;EAgBnC;AAED,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAOpD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAchE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcjD"}
|
package/dist/graphics/utility.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
export function degrees_to_radians(degrees) {
|
|
2
|
-
return degrees * (Math.PI / 180);
|
|
3
|
-
}
|
|
4
|
-
;
|
|
5
|
-
export function get_uniform_label_index(raw_label) {
|
|
6
|
-
const match = raw_label.match(/\[(\d+)\][^\[]*$/);
|
|
7
|
-
return match ? parseInt(match[1], 10) : 0;
|
|
8
|
-
}
|
|
9
|
-
export function normalize_uniform_label(raw_label) {
|
|
10
|
-
var return_label = "";
|
|
11
|
-
var start_ignore = false;
|
|
12
|
-
var is_array = false;
|
|
13
|
-
for (const char of raw_label) {
|
|
14
|
-
switch (char) {
|
|
15
|
-
case '[':
|
|
16
|
-
start_ignore = true;
|
|
17
|
-
is_array = true;
|
|
18
|
-
break;
|
|
19
|
-
case ']':
|
|
20
|
-
start_ignore = false;
|
|
21
|
-
is_array = true;
|
|
22
|
-
break;
|
|
23
|
-
default:
|
|
24
|
-
if (!start_ignore)
|
|
25
|
-
return_label += char;
|
|
26
|
-
break;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (is_array)
|
|
30
|
-
return_label = "[]" + return_label;
|
|
31
|
-
return return_label;
|
|
32
|
-
}
|
|
33
|
-
export function parse_path(p) {
|
|
34
|
-
const parts = p.split("/");
|
|
35
|
-
const base = parts.pop() || "";
|
|
36
|
-
const dir = parts.join("/") || "";
|
|
37
|
-
const extIndex = base.lastIndexOf(".");
|
|
38
|
-
const ext = extIndex !== -1 ? base.slice(extIndex) : "";
|
|
39
|
-
const name = extIndex !== -1 ? base.slice(0, extIndex) : base;
|
|
40
|
-
return {
|
|
41
|
-
root: p.startsWith("/") ? "/" : "",
|
|
42
|
-
dir,
|
|
43
|
-
base,
|
|
44
|
-
ext,
|
|
45
|
-
name
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
export function join_path(...parts) {
|
|
49
|
-
return parts
|
|
50
|
-
.filter(part => part && typeof part === "string")
|
|
51
|
-
.join("/")
|
|
52
|
-
.replace(/\/+/g, "/") // collapse multiple slashes
|
|
53
|
-
.replace(/\/\.\//g, "/") // remove "/./"
|
|
54
|
-
.replace(/(^|\/)(?!\.\.)[^\/]+\/\.\.\//g, "$1"); // resolve "../"
|
|
55
|
-
}
|
|
56
|
-
export function basename_path(path, ext) {
|
|
57
|
-
if (!path)
|
|
58
|
-
return "";
|
|
59
|
-
// remove trailing slashes
|
|
60
|
-
path = path.replace(/\/+$/, "");
|
|
61
|
-
const idx = path.lastIndexOf("/");
|
|
62
|
-
let base = idx === -1 ? path : path.slice(idx + 1);
|
|
63
|
-
if (ext && base.endsWith(ext)) {
|
|
64
|
-
base = base.slice(0, -ext.length);
|
|
65
|
-
}
|
|
66
|
-
return base;
|
|
67
|
-
}
|
|
68
|
-
export function dirname_path(path) {
|
|
69
|
-
if (!path)
|
|
70
|
-
return ".";
|
|
71
|
-
const hasRoot = path.startsWith("/");
|
|
72
|
-
// remove trailing slashes
|
|
73
|
-
path = path.replace(/\/+$/, "");
|
|
74
|
-
const idx = path.lastIndexOf("/");
|
|
75
|
-
if (idx === -1)
|
|
76
|
-
return ".";
|
|
77
|
-
if (idx === 0)
|
|
78
|
-
return "/";
|
|
79
|
-
return path.slice(0, idx);
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=utility.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/graphics/utility.ts"],"names":[],"mappings":"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"}
|
package/dist/hook_manager.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { LuaEngine, LuaFactory } from "wasmoon";
|
|
2
|
-
import Engine from "./engine.ts";
|
|
3
|
-
import { Node } from "./node.ts";
|
|
4
|
-
export declare class HookManager {
|
|
5
|
-
engine: Engine;
|
|
6
|
-
lua_factory: LuaFactory;
|
|
7
|
-
lua_engine_promise: Promise<LuaEngine>;
|
|
8
|
-
lua: LuaEngine | null;
|
|
9
|
-
on_ready_callbacks: {
|
|
10
|
-
[key: string]: (node: Node, engine: Engine) => void;
|
|
11
|
-
};
|
|
12
|
-
on_removed_callbacks: {
|
|
13
|
-
[key: string]: (node: Node, engine: Engine, parent: Node) => void;
|
|
14
|
-
};
|
|
15
|
-
on_update_callbacks: {
|
|
16
|
-
[key: string]: (node: Node, engine: Engine, time: number, delta_time: number) => void;
|
|
17
|
-
};
|
|
18
|
-
on_render_callbacks: {
|
|
19
|
-
[key: string]: (node: Node, engine: Engine, time: number, delta_time: number) => void;
|
|
20
|
-
};
|
|
21
|
-
constructor(engine: Engine);
|
|
22
|
-
call_on_ready_callback(url: string, node: Node, engine: Engine): void;
|
|
23
|
-
call_on_removed_callback(url: string, node: Node, engine: Engine, parent: Node): void;
|
|
24
|
-
call_on_update_callback(url: string, node: Node, engine: Engine, time: number, delta_time: number): void;
|
|
25
|
-
call_on_render_callback(url: string, node: Node, engine: Engine, time: number, delta_time: number): void;
|
|
26
|
-
private do_lua_file_url;
|
|
27
|
-
add_on_ready_callback(url: string): Promise<void>;
|
|
28
|
-
add_on_removed_callback(url: string): Promise<void>;
|
|
29
|
-
add_on_update_callback(url: string): Promise<void>;
|
|
30
|
-
add_on_render_callback(url: string): Promise<void>;
|
|
31
|
-
set_globals(): Promise<void>;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=hook_manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook_manager.d.ts","sourceRoot":"","sources":["../src/hook_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,IAAI,EAAkB,MAAM,WAAW,CAAC;AASjD,qBAAa,WAAW;IACpB,MAAM,EAAC,MAAM,CAAC;IACd,WAAW,EAAC,UAAU,CAAC;IACvB,kBAAkB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,GAAG,EAAC,SAAS,GAAC,IAAI,CAAQ;IAE1B,kBAAkB,EAAC;QAAC,CAAC,GAAG,EAAC,MAAM,GAAE,CAAC,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,KAAK,IAAI,CAAA;KAAC,CAAM;IAC1E,oBAAoB,EAAC;QAAC,CAAC,GAAG,EAAC,MAAM,GAAE,CAAC,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,IAAI,KAAK,IAAI,CAAA;KAAC,CAAM;IACzF,mBAAmB,EAAC;QAAC,CAAC,GAAG,EAAC,MAAM,GAAE,CAAC,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,KAAK,IAAI,CAAA;KAAC,CAAM;IAC3G,mBAAmB,EAAC;QAAC,CAAC,GAAG,EAAC,MAAM,GAAE,CAAC,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,KAAK,IAAI,CAAA;KAAC,CAAM;gBAE/F,MAAM,EAAC,MAAM;IAYzB,sBAAsB,CAAC,GAAG,EAAC,MAAM,EAAE,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM;IAI3D,wBAAwB,CAAC,GAAG,EAAC,MAAM,EAAE,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,IAAI;IAI1E,uBAAuB,CAAC,GAAG,EAAC,MAAM,EAAE,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM;IAI5F,uBAAuB,CAAC,GAAG,EAAC,MAAM,EAAE,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM;YAI9E,eAAe;IAavB,qBAAqB,CAAC,GAAG,EAAC,MAAM;IAahC,uBAAuB,CAAC,GAAG,EAAC,MAAM;IAalC,sBAAsB,CAAC,GAAG,EAAC,MAAM;IAajC,sBAAsB,CAAC,GAAG,EAAC,MAAM;IAajC,WAAW;CAmBpB"}
|
package/dist/hook_manager.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { LuaFactory } from "wasmoon";
|
|
2
|
-
import { Node, Node2D, Node3D } from "./node.js";
|
|
3
|
-
import { Vec2, Vec3, Vec4, Mat2, Mat3, Mat4, Quat } from "@vicimpa/glm";
|
|
4
|
-
import { Object3D } from "./node/object3d.js";
|
|
5
|
-
import { Sprite2D } from "./node/sprite2d.js";
|
|
6
|
-
// This class handles all of the lua hooks into different nodes.
|
|
7
|
-
// It uses a single lua engine since webgl2 cant be multithreaded.
|
|
8
|
-
// maybe in the future we will use webgpu and use multiple engines.
|
|
9
|
-
export class HookManager {
|
|
10
|
-
constructor(engine) {
|
|
11
|
-
this.lua = null;
|
|
12
|
-
this.on_ready_callbacks = {};
|
|
13
|
-
this.on_removed_callbacks = {};
|
|
14
|
-
this.on_update_callbacks = {};
|
|
15
|
-
this.on_render_callbacks = {};
|
|
16
|
-
this.engine = engine;
|
|
17
|
-
this.lua_factory = new LuaFactory();
|
|
18
|
-
this.lua_engine_promise = this.lua_factory.createEngine();
|
|
19
|
-
this.lua_engine_promise
|
|
20
|
-
.then(async (engine) => {
|
|
21
|
-
this.lua = engine;
|
|
22
|
-
await this.set_globals();
|
|
23
|
-
})
|
|
24
|
-
.catch((reason) => { throw new Error(reason); });
|
|
25
|
-
}
|
|
26
|
-
call_on_ready_callback(url, node, engine) {
|
|
27
|
-
this.on_ready_callbacks[url](node, engine);
|
|
28
|
-
}
|
|
29
|
-
call_on_removed_callback(url, node, engine, parent) {
|
|
30
|
-
this.on_removed_callbacks[url](node, engine, parent);
|
|
31
|
-
}
|
|
32
|
-
call_on_update_callback(url, node, engine, time, delta_time) {
|
|
33
|
-
this.on_update_callbacks[url](node, engine, time, delta_time);
|
|
34
|
-
}
|
|
35
|
-
call_on_render_callback(url, node, engine, time, delta_time) {
|
|
36
|
-
this.on_render_callbacks[url](node, engine, time, delta_time);
|
|
37
|
-
}
|
|
38
|
-
async do_lua_file_url(url) {
|
|
39
|
-
await this.lua_engine_promise;
|
|
40
|
-
if (!this.lua)
|
|
41
|
-
return;
|
|
42
|
-
const res = await fetch(url);
|
|
43
|
-
if (!res.ok)
|
|
44
|
-
throw new Error("Failed to load Lua file");
|
|
45
|
-
const code = await res.text();
|
|
46
|
-
return this.lua.doString(code);
|
|
47
|
-
}
|
|
48
|
-
async add_on_ready_callback(url) {
|
|
49
|
-
await this.lua_engine_promise;
|
|
50
|
-
if (!this.lua)
|
|
51
|
-
return;
|
|
52
|
-
await this.do_lua_file_url(url);
|
|
53
|
-
const callback = this.lua.global.get("on_ready");
|
|
54
|
-
this.on_ready_callbacks[url] = callback;
|
|
55
|
-
}
|
|
56
|
-
async add_on_removed_callback(url) {
|
|
57
|
-
await this.lua_engine_promise;
|
|
58
|
-
if (!this.lua)
|
|
59
|
-
return;
|
|
60
|
-
await this.do_lua_file_url(url);
|
|
61
|
-
const callback = this.lua.global.get("on_removed");
|
|
62
|
-
this.on_removed_callbacks[url] = callback;
|
|
63
|
-
}
|
|
64
|
-
async add_on_update_callback(url) {
|
|
65
|
-
await this.lua_engine_promise;
|
|
66
|
-
if (!this.lua)
|
|
67
|
-
return;
|
|
68
|
-
await this.do_lua_file_url(url);
|
|
69
|
-
const callback = this.lua.global.get("on_update");
|
|
70
|
-
this.on_update_callbacks[url] = callback;
|
|
71
|
-
}
|
|
72
|
-
async add_on_render_callback(url) {
|
|
73
|
-
await this.lua_engine_promise;
|
|
74
|
-
if (!this.lua)
|
|
75
|
-
return;
|
|
76
|
-
await this.do_lua_file_url(url);
|
|
77
|
-
const callback = this.lua.global.get("on_render");
|
|
78
|
-
this.on_render_callbacks[url] = callback;
|
|
79
|
-
}
|
|
80
|
-
async set_globals() {
|
|
81
|
-
await this.lua_engine_promise;
|
|
82
|
-
if (!this.lua)
|
|
83
|
-
return;
|
|
84
|
-
this.lua.global.set("Vec2", create_lua_constructor(Vec2));
|
|
85
|
-
this.lua.global.set("Vec3", create_lua_constructor(Vec3));
|
|
86
|
-
this.lua.global.set("Vec4", create_lua_constructor(Vec4));
|
|
87
|
-
this.lua.global.set("Mat2", create_lua_constructor(Mat2));
|
|
88
|
-
this.lua.global.set("Mat3", create_lua_constructor(Mat3));
|
|
89
|
-
this.lua.global.set("Mat4", create_lua_constructor(Mat4));
|
|
90
|
-
this.lua.global.set("Quat", create_lua_constructor(Quat));
|
|
91
|
-
this.lua.global.set("Node", create_lua_constructor(Node));
|
|
92
|
-
this.lua.global.set("Node3D", create_lua_constructor(Node3D));
|
|
93
|
-
this.lua.global.set("Node2D", create_lua_constructor(Node2D));
|
|
94
|
-
this.lua.global.set("Object3D", create_lua_constructor(Object3D));
|
|
95
|
-
this.lua.global.set("Sprite2D", create_lua_constructor(Sprite2D));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
;
|
|
99
|
-
function create_lua_constructor(cls) {
|
|
100
|
-
return (...args) => new cls(...args);
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=hook_manager.js.map
|
package/dist/hook_manager.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook_manager.js","sourceRoot":"","sources":["../src/hook_manager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,eAAe,MAAM,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import Engine from "../engine.ts";
|
|
2
|
-
export declare enum MouseButton {
|
|
3
|
-
Left = 0,
|
|
4
|
-
Middle = 1,
|
|
5
|
-
Right = 2
|
|
6
|
-
}
|
|
7
|
-
export declare class InputManager {
|
|
8
|
-
private target;
|
|
9
|
-
engine: Engine;
|
|
10
|
-
private keysDown;
|
|
11
|
-
private keysPressed;
|
|
12
|
-
private keysReleased;
|
|
13
|
-
private mouseDown;
|
|
14
|
-
private mousePressed;
|
|
15
|
-
private mouseReleased;
|
|
16
|
-
mouseX: number;
|
|
17
|
-
mouseY: number;
|
|
18
|
-
mouse_delta_x: number;
|
|
19
|
-
mouse_delta_y: number;
|
|
20
|
-
wheelDelta: number;
|
|
21
|
-
constructor(engine: Engine, target?: HTMLElement);
|
|
22
|
-
destroy(): void;
|
|
23
|
-
update(): void;
|
|
24
|
-
is_key_down(code: string): boolean;
|
|
25
|
-
was_key_pressed(code: string): boolean;
|
|
26
|
-
was_key_released(code: string): boolean;
|
|
27
|
-
is_mouse_down(button: MouseButton): boolean;
|
|
28
|
-
was_mouse_pressed(button: MouseButton): boolean;
|
|
29
|
-
was_mouse_released(button: MouseButton): boolean;
|
|
30
|
-
lock_mouse(): void;
|
|
31
|
-
unlock_mouse(): void;
|
|
32
|
-
private attach;
|
|
33
|
-
private detach;
|
|
34
|
-
private onKeyDown;
|
|
35
|
-
private onKeyUp;
|
|
36
|
-
private onMouseDown;
|
|
37
|
-
private onMouseUp;
|
|
38
|
-
private onMouseMove;
|
|
39
|
-
private onWheel;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=input_manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input_manager.d.ts","sourceRoot":"","sources":["../../src/input/input_manager.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,oBAAY,WAAW;IACnB,IAAI,IAAI;IACR,MAAM,IAAI;IACV,KAAK,IAAI;CACZ;AAED,qBAAa,YAAY;IAkBM,OAAO,CAAC,MAAM;IAjBzC,MAAM,EAAC,MAAM,CAAC;IAEd,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,aAAa,CAAqB;IAEnC,MAAM,SAAK;IACX,MAAM,SAAK;IACX,aAAa,SAAK;IAClB,aAAa,SAAK;IAElB,UAAU,SAAK;gBAEV,MAAM,EAAC,MAAM,EAAU,MAAM,GAAE,WAAkC;IAK7E,OAAO;IAIP,MAAM;IAWN,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAItC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIvC,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI3C,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAI/C,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAIhD,UAAU;IAIV,YAAY;IAIZ,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,SAAS,CAKf;IAEF,OAAO,CAAC,OAAO,CAIb;IAEF,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,SAAS,CAIf;IAEF,OAAO,CAAC,WAAW,CAkBjB;IAEF,OAAO,CAAC,OAAO,CAEb;CACL"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
export var MouseButton;
|
|
2
|
-
(function (MouseButton) {
|
|
3
|
-
MouseButton[MouseButton["Left"] = 0] = "Left";
|
|
4
|
-
MouseButton[MouseButton["Middle"] = 1] = "Middle";
|
|
5
|
-
MouseButton[MouseButton["Right"] = 2] = "Right";
|
|
6
|
-
})(MouseButton || (MouseButton = {}));
|
|
7
|
-
export class InputManager {
|
|
8
|
-
constructor(engine, target = window.document.body) {
|
|
9
|
-
this.target = target;
|
|
10
|
-
this.keysDown = new Set();
|
|
11
|
-
this.keysPressed = new Set();
|
|
12
|
-
this.keysReleased = new Set();
|
|
13
|
-
this.mouseDown = new Set();
|
|
14
|
-
this.mousePressed = new Set();
|
|
15
|
-
this.mouseReleased = new Set();
|
|
16
|
-
this.mouseX = 0;
|
|
17
|
-
this.mouseY = 0;
|
|
18
|
-
this.mouse_delta_x = 0;
|
|
19
|
-
this.mouse_delta_y = 0;
|
|
20
|
-
this.wheelDelta = 0;
|
|
21
|
-
this.onKeyDown = (e) => {
|
|
22
|
-
if (!this.keysDown.has(e.code)) {
|
|
23
|
-
this.keysDown.add(e.code);
|
|
24
|
-
this.keysPressed.add(e.code);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
this.onKeyUp = (e) => {
|
|
28
|
-
if (this.keysDown.delete(e.code)) {
|
|
29
|
-
this.keysReleased.add(e.code);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
this.onMouseDown = (e) => {
|
|
33
|
-
if (!this.mouseDown.has(e.button)) {
|
|
34
|
-
this.mouseDown.add(e.button);
|
|
35
|
-
this.mousePressed.add(e.button);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
this.onMouseUp = (e) => {
|
|
39
|
-
if (this.mouseDown.delete(e.button)) {
|
|
40
|
-
this.mouseReleased.add(e.button);
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
this.onMouseMove = (e) => {
|
|
44
|
-
if (document.pointerLockElement === this.engine.canvas) {
|
|
45
|
-
// Pointer lock mode → use raw movement
|
|
46
|
-
this.mouse_delta_x = e.movementX;
|
|
47
|
-
this.mouse_delta_y = e.movementY;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
// Normal mouse mode
|
|
51
|
-
const rect = this.target.getBoundingClientRect();
|
|
52
|
-
const x = e.clientX - rect.left;
|
|
53
|
-
const y = e.clientY - rect.top;
|
|
54
|
-
this.mouse_delta_x += x - this.mouseX;
|
|
55
|
-
this.mouse_delta_y += y - this.mouseY;
|
|
56
|
-
this.mouseX = x;
|
|
57
|
-
this.mouseY = y;
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
this.onWheel = (e) => {
|
|
61
|
-
this.wheelDelta += e.deltaY;
|
|
62
|
-
};
|
|
63
|
-
this.engine = engine;
|
|
64
|
-
this.attach();
|
|
65
|
-
}
|
|
66
|
-
destroy() {
|
|
67
|
-
this.detach();
|
|
68
|
-
}
|
|
69
|
-
update() {
|
|
70
|
-
this.keysPressed.clear();
|
|
71
|
-
this.keysReleased.clear();
|
|
72
|
-
this.mousePressed.clear();
|
|
73
|
-
this.mouseReleased.clear();
|
|
74
|
-
this.mouse_delta_x = 0;
|
|
75
|
-
this.mouse_delta_y = 0;
|
|
76
|
-
this.wheelDelta = 0;
|
|
77
|
-
}
|
|
78
|
-
is_key_down(code) {
|
|
79
|
-
return this.keysDown.has(code);
|
|
80
|
-
}
|
|
81
|
-
was_key_pressed(code) {
|
|
82
|
-
return this.keysPressed.has(code);
|
|
83
|
-
}
|
|
84
|
-
was_key_released(code) {
|
|
85
|
-
return this.keysReleased.has(code);
|
|
86
|
-
}
|
|
87
|
-
is_mouse_down(button) {
|
|
88
|
-
return this.mouseDown.has(button);
|
|
89
|
-
}
|
|
90
|
-
was_mouse_pressed(button) {
|
|
91
|
-
return this.mousePressed.has(button);
|
|
92
|
-
}
|
|
93
|
-
was_mouse_released(button) {
|
|
94
|
-
return this.mouseReleased.has(button);
|
|
95
|
-
}
|
|
96
|
-
lock_mouse() {
|
|
97
|
-
this.engine.canvas.requestPointerLock();
|
|
98
|
-
}
|
|
99
|
-
unlock_mouse() {
|
|
100
|
-
document.exitPointerLock();
|
|
101
|
-
}
|
|
102
|
-
attach() {
|
|
103
|
-
window.addEventListener("keydown", this.onKeyDown);
|
|
104
|
-
window.addEventListener("keyup", this.onKeyUp);
|
|
105
|
-
this.target.addEventListener("mousedown", this.onMouseDown);
|
|
106
|
-
window.addEventListener("mouseup", this.onMouseUp);
|
|
107
|
-
this.target.addEventListener("mousemove", this.onMouseMove);
|
|
108
|
-
this.target.addEventListener("wheel", this.onWheel, { passive: true });
|
|
109
|
-
// Prevent context menu
|
|
110
|
-
this.target.addEventListener("contextmenu", e => e.preventDefault());
|
|
111
|
-
}
|
|
112
|
-
detach() {
|
|
113
|
-
window.removeEventListener("keydown", this.onKeyDown);
|
|
114
|
-
window.removeEventListener("keyup", this.onKeyUp);
|
|
115
|
-
this.target.removeEventListener("mousedown", this.onMouseDown);
|
|
116
|
-
window.removeEventListener("mouseup", this.onMouseUp);
|
|
117
|
-
this.target.removeEventListener("mousemove", this.onMouseMove);
|
|
118
|
-
this.target.removeEventListener("wheel", this.onWheel);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=input_manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input_manager.js","sourceRoot":"","sources":["../../src/input/input_manager.ts"],"names":[],"mappings":"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"}
|
package/dist/node/camera3d.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Mat4 } from "@vicimpa/glm";
|
|
2
|
-
import { Node3D } from "../node.ts";
|
|
3
|
-
export declare class Camera3D extends Node3D {
|
|
4
|
-
fov: number;
|
|
5
|
-
near_plane: number;
|
|
6
|
-
far_plane: number;
|
|
7
|
-
get_projection_matrix(canvas: HTMLCanvasElement): Mat4;
|
|
8
|
-
get_view_matrix(): Mat4;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=camera3d.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"camera3d.d.ts","sourceRoot":"","sources":["../../src/node/camera3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,qBAAa,QAAS,SAAQ,MAAM;IAChC,GAAG,EAAC,MAAM,CAA0B;IACpC,UAAU,EAAC,MAAM,CAAO;IACxB,SAAS,EAAC,MAAM,CAAU;IAE1B,qBAAqB,CAAC,MAAM,EAAC,iBAAiB,GAAG,IAAI;IAWrD,eAAe,IAAI,IAAI;CAY1B"}
|
package/dist/node/camera3d.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Mat4 } from "@vicimpa/glm";
|
|
2
|
-
import { Node3D } from "../node.js";
|
|
3
|
-
import { degrees_to_radians } from "../graphics/utility.js";
|
|
4
|
-
export class Camera3D extends Node3D {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.fov = degrees_to_radians(60);
|
|
8
|
-
this.near_plane = 0.1;
|
|
9
|
-
this.far_plane = 1000.0;
|
|
10
|
-
}
|
|
11
|
-
get_projection_matrix(canvas) {
|
|
12
|
-
const aspect = canvas.width / canvas.height;
|
|
13
|
-
return new Mat4().perspectiveNO(this.fov, aspect, this.near_plane, this.far_plane);
|
|
14
|
-
}
|
|
15
|
-
get_view_matrix() {
|
|
16
|
-
const view = new Mat4().identity();
|
|
17
|
-
// Inverse rotation
|
|
18
|
-
const invRot = this.rotation.clone().invert();
|
|
19
|
-
view.mul(new Mat4().fromQuat(invRot));
|
|
20
|
-
// Inverse translation
|
|
21
|
-
view.translate(this.position.clone().negate());
|
|
22
|
-
return view;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=camera3d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"camera3d.js","sourceRoot":"","sources":["../../src/node/camera3d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,OAAO,QAAS,SAAQ,MAAM;IAApC;;QACI,QAAG,GAAU,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACpC,eAAU,GAAU,GAAG,CAAC;QACxB,cAAS,GAAU,MAAM,CAAC;IAyB9B,CAAC;IAvBG,qBAAqB,CAAC,MAAwB;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5C,OAAO,IAAI,IAAI,EAAE,CAAC,aAAa,CAC3B,IAAI,CAAC,GAAG,EACR,MAAM,EACN,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,CACjB,CAAC;IACN,CAAC;IAED,eAAe;QACX,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAEnC,mBAAmB;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtC,sBAAsB;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Mat4, Vec3, Vec4 } from "@vicimpa/glm";
|
|
2
|
-
import Engine from "../../engine.ts";
|
|
3
|
-
import { Framebuffer } from "../../graphics/framebuffer.ts";
|
|
4
|
-
import { ShaderProgram } from "../../graphics/shader_program.ts";
|
|
5
|
-
import { Node } from "../../node.ts";
|
|
6
|
-
import { Light } from "./light.ts";
|
|
7
|
-
export declare class DirectionalLight extends Light {
|
|
8
|
-
shader_program: ShaderProgram;
|
|
9
|
-
shadow_index: number;
|
|
10
|
-
framebuffer: Framebuffer;
|
|
11
|
-
directional_light_space_matrix: Mat4;
|
|
12
|
-
constructor(engine: Engine, name: string, color: Vec3, ambient: number, diffuse: number, specular: number, energy: number, shader_program?: ShaderProgram | null);
|
|
13
|
-
draw_shadow_map(view_matrix: Mat4, projection_matrix_3d: Mat4, projection_matrix_2d: Mat4, time: number, delta_time: number): void;
|
|
14
|
-
set_uniforms(array_name: string, index: number): void;
|
|
15
|
-
protected on_parented(): void;
|
|
16
|
-
protected on_removed(node: this, engine: Engine, parent: Node): void;
|
|
17
|
-
get_frustum_corners_world_space(projection_matrix: Mat4, view_matrix: Mat4): Vec4[];
|
|
18
|
-
get_light_space_matrix(light_dir: Vec3, corners: Vec4[]): Mat4;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=directional_light.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"directional_light.d.ts","sourceRoot":"","sources":["../../../src/node/lights/directional_light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAQ,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAkB,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qBAAa,gBAAiB,SAAQ,KAAK;IAEvC,cAAc,EAAC,aAAa,CAAC;IAC7B,YAAY,EAAC,MAAM,CAAC;IACpB,WAAW,EAAC,WAAW,CAAC;IAExB,8BAA8B,EAAC,IAAI,CAAc;gBAG7C,MAAM,EAAC,MAAM,EACb,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,IAAI,EACV,OAAO,EAAC,MAAM,EACd,OAAO,EAAC,MAAM,EACd,QAAQ,EAAC,MAAM,EACf,MAAM,EAAC,MAAM,EACb,cAAc,GAAC,aAAa,GAAC,IAAW;IAW5C,eAAe,CAAC,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IA6ClI,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAerD,SAAS,CAAC,WAAW,IAAI,IAAI;IAK7B,SAAS,CAAC,UAAU,CAAC,IAAI,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,IAAI,GAAG,IAAI;IAQjE,+BAA+B,CAAC,iBAAiB,EAAC,IAAI,EAAE,WAAW,EAAC,IAAI,GAAE,IAAI,EAAE;IAmBhF,sBAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAC,IAAI,EAAE,GAAE,IAAI;CAkD/D"}
|