vanta-engine 1.0.2 → 1.0.4
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-BDKR3WGZ.mjs +35 -0
- package/dist/chunk-BDKR3WGZ.mjs.map +1 -0
- package/dist/index.d.cts +755 -0
- package/dist/index.d.ts +755 -27
- package/dist/index.js +8406 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8369 -0
- package/dist/index.mjs.map +1 -0
- package/dist/module-62JUDQR5.mjs +11 -0
- package/dist/module-62JUDQR5.mjs.map +1 -0
- package/package.json +10 -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,327 +0,0 @@
|
|
|
1
|
-
export default `#version 300 es
|
|
2
|
-
precision lowp float;
|
|
3
|
-
precision lowp sampler2DArrayShadow;
|
|
4
|
-
|
|
5
|
-
uniform mediump int directional_lights_count;
|
|
6
|
-
uniform mediump int point_lights_count;
|
|
7
|
-
uniform mediump int spot_lights_count;
|
|
8
|
-
|
|
9
|
-
#define N_DIRECTIONAL_LIGHTS 10
|
|
10
|
-
#define N_POINT_LIGHTS 10
|
|
11
|
-
#define N_SPOT_LIGHTS 10
|
|
12
|
-
#define PI 3.14159265358979323846264338327950288419716939937510
|
|
13
|
-
|
|
14
|
-
in vec3 v_normal;
|
|
15
|
-
in vec2 v_uv;
|
|
16
|
-
in vec4 v_frag_pos;
|
|
17
|
-
|
|
18
|
-
out vec4 frag_color;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
struct Environment {
|
|
22
|
-
vec3 ambient_light;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
// fallback values
|
|
26
|
-
struct Material {
|
|
27
|
-
bool has_normal_texture;
|
|
28
|
-
bool has_albedo_texture;
|
|
29
|
-
vec3 albedo;
|
|
30
|
-
|
|
31
|
-
bool has_metalic_texture;
|
|
32
|
-
float metalic;
|
|
33
|
-
bool has_roughness_texture;
|
|
34
|
-
float roughness;
|
|
35
|
-
bool has_ao_texture;
|
|
36
|
-
float ao;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
// PBR
|
|
40
|
-
uniform sampler2D material_texture_albedo;
|
|
41
|
-
uniform sampler2D material_texture_normal;
|
|
42
|
-
uniform sampler2D material_texture_metalic;
|
|
43
|
-
uniform sampler2D material_texture_roughness;
|
|
44
|
-
uniform sampler2D material_texture_ao;
|
|
45
|
-
|
|
46
|
-
struct PointLight {
|
|
47
|
-
vec3 position;
|
|
48
|
-
vec3 color;
|
|
49
|
-
float range;
|
|
50
|
-
float energy;
|
|
51
|
-
|
|
52
|
-
float ambient;
|
|
53
|
-
float diffuse;
|
|
54
|
-
float specular;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
struct SpotLight {
|
|
58
|
-
vec3 position;
|
|
59
|
-
vec3 color;
|
|
60
|
-
mat4 rotation;
|
|
61
|
-
float energy;
|
|
62
|
-
float range;
|
|
63
|
-
float cookie_radius;
|
|
64
|
-
|
|
65
|
-
float ambient;
|
|
66
|
-
float diffuse;
|
|
67
|
-
float specular;
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
struct DirectionalLight {
|
|
71
|
-
mat4 rotation;
|
|
72
|
-
vec3 color;
|
|
73
|
-
float energy;
|
|
74
|
-
|
|
75
|
-
float ambient;
|
|
76
|
-
float diffuse;
|
|
77
|
-
float specular;
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
uniform PointLight point_lights[N_POINT_LIGHTS];
|
|
81
|
-
|
|
82
|
-
uniform SpotLight spot_lights[N_SPOT_LIGHTS];
|
|
83
|
-
|
|
84
|
-
uniform DirectionalLight directional_lights[N_DIRECTIONAL_LIGHTS];
|
|
85
|
-
|
|
86
|
-
uniform Material material;
|
|
87
|
-
|
|
88
|
-
uniform Environment environment;
|
|
89
|
-
|
|
90
|
-
uniform vec3 camera_position;
|
|
91
|
-
|
|
92
|
-
uniform sampler2DArrayShadow directional_light_shadow_maps;
|
|
93
|
-
uniform sampler2DArrayShadow point_light_shadow_maps;
|
|
94
|
-
|
|
95
|
-
uniform vec2 shadow_map_size;
|
|
96
|
-
|
|
97
|
-
uniform mat4 u_directional_light_space_matrix[N_DIRECTIONAL_LIGHTS];
|
|
98
|
-
uniform mat4 u_point_light_space_matrix[N_POINT_LIGHTS * 6];
|
|
99
|
-
|
|
100
|
-
float L(PointLight light);
|
|
101
|
-
float L(DirectionalLight light);
|
|
102
|
-
|
|
103
|
-
float distribution_GGX(vec3 N, vec3 H, float a);
|
|
104
|
-
float geometry_schlick_GGX(float NdotV, float k);
|
|
105
|
-
float geometry_smith(vec3 N, vec3 V, vec3 L, float k);
|
|
106
|
-
vec3 fresnel_schlick(float cosTheta, vec3 F0);
|
|
107
|
-
|
|
108
|
-
vec3 Fr(vec3 light_dir, vec4 albedo_color, bool image_lighting);
|
|
109
|
-
|
|
110
|
-
vec3 calculate_point_lighting(vec4 base_color);
|
|
111
|
-
|
|
112
|
-
vec3 calculate_directional_lighting(vec4 base_color);
|
|
113
|
-
|
|
114
|
-
vec3 calculate_lighting(vec4 base_color);
|
|
115
|
-
|
|
116
|
-
float calculate_point_shadow(int index, PointLight light);
|
|
117
|
-
|
|
118
|
-
float calculate_directional_shadow(int index, vec3 light_dir);
|
|
119
|
-
|
|
120
|
-
void main() {
|
|
121
|
-
|
|
122
|
-
vec4 base_color;
|
|
123
|
-
if (material.has_albedo_texture)
|
|
124
|
-
base_color = texture(material_texture_albedo, v_uv);
|
|
125
|
-
else
|
|
126
|
-
base_color = vec4(material.albedo, 1.0);
|
|
127
|
-
|
|
128
|
-
vec3 lighting = calculate_lighting(base_color);
|
|
129
|
-
|
|
130
|
-
base_color.rgb = environment.ambient_light * base_color.rgb + lighting;
|
|
131
|
-
|
|
132
|
-
frag_color = base_color;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
int get_point_shadow_face_index(int origin, vec3 dir) {
|
|
136
|
-
vec3 abs_dir = abs(dir);
|
|
137
|
-
|
|
138
|
-
int index = 0;
|
|
139
|
-
|
|
140
|
-
// Directly compare the absolute values
|
|
141
|
-
if (abs_dir.x >= abs_dir.y && abs_dir.x >= abs_dir.z) {
|
|
142
|
-
// X is dominant
|
|
143
|
-
index = (dir.x > 0.0) ? 0 : 1;
|
|
144
|
-
} else if (abs_dir.y >= abs_dir.z) {
|
|
145
|
-
// Y is dominant
|
|
146
|
-
index = (dir.y > 0.0) ? 2 : 3;
|
|
147
|
-
} else {
|
|
148
|
-
// Z is dominant
|
|
149
|
-
index = (dir.z > 0.0) ? 4 : 5;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
return origin + index;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
float calculate_point_shadow(int index, PointLight light) {
|
|
156
|
-
vec3 light_to_frag = v_frag_pos.xyz - light.position;
|
|
157
|
-
float light_distance = length(light_to_frag);
|
|
158
|
-
vec3 dir = normalize(light_to_frag);
|
|
159
|
-
|
|
160
|
-
float bias = max(0.015 * (1.0 - dot(v_normal, -dir)), 0.003);
|
|
161
|
-
|
|
162
|
-
int face_index = get_point_shadow_face_index(index * 6, dir);
|
|
163
|
-
|
|
164
|
-
vec4 frag_light = u_point_light_space_matrix[face_index] * v_frag_pos;
|
|
165
|
-
vec3 proj = frag_light.xyz / frag_light.w;
|
|
166
|
-
proj = proj * 0.5 + 0.5;
|
|
167
|
-
|
|
168
|
-
float current_depth = light_distance / light.range;
|
|
169
|
-
|
|
170
|
-
float shadow = 0.0;
|
|
171
|
-
|
|
172
|
-
shadow += texture(
|
|
173
|
-
point_light_shadow_maps,
|
|
174
|
-
vec4(
|
|
175
|
-
proj.xy,
|
|
176
|
-
float(face_index),
|
|
177
|
-
current_depth - bias
|
|
178
|
-
)
|
|
179
|
-
);
|
|
180
|
-
|
|
181
|
-
return shadow;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
vec3 calculate_point_lighting(vec4 base_color) {
|
|
185
|
-
vec3 cumulative_radiance = vec3(0.0,0.0,0.0);
|
|
186
|
-
|
|
187
|
-
for (int i = 0; i < point_lights_count; i++) {
|
|
188
|
-
PointLight light = point_lights[i];
|
|
189
|
-
vec3 light_dir = normalize(light.position - v_frag_pos.xyz);
|
|
190
|
-
float n_dot_l = max(dot(v_normal, light_dir), 0.0);
|
|
191
|
-
vec3 product = Fr(light_dir, base_color, false) * L(light) * n_dot_l;
|
|
192
|
-
float shadow = calculate_point_shadow(i, light);
|
|
193
|
-
cumulative_radiance += product * light.color * shadow;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
return cumulative_radiance;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
float calculate_directional_shadow(int index, vec3 light_dir) {
|
|
200
|
-
vec4 frag_pos_light_space = u_directional_light_space_matrix[index] * v_frag_pos;
|
|
201
|
-
vec3 proj_coords = frag_pos_light_space.xyz / frag_pos_light_space.w;
|
|
202
|
-
proj_coords = proj_coords * 0.5 + 0.5;
|
|
203
|
-
|
|
204
|
-
float bias = max(0.05 * (1.0 - dot(v_normal, light_dir)), 0.005);
|
|
205
|
-
|
|
206
|
-
float current_depth = proj_coords.z - bias;
|
|
207
|
-
|
|
208
|
-
// apply blur to shadow edges
|
|
209
|
-
float shadow = 0.0;
|
|
210
|
-
|
|
211
|
-
shadow += texture(directional_light_shadow_maps, vec4(
|
|
212
|
-
proj_coords.xy,
|
|
213
|
-
float(index),
|
|
214
|
-
current_depth
|
|
215
|
-
));
|
|
216
|
-
|
|
217
|
-
return shadow;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
vec3 calculate_lighting(vec4 base_color) {
|
|
221
|
-
vec3 cumulative_radiance = vec3(0.0,0.0,0.0);
|
|
222
|
-
|
|
223
|
-
cumulative_radiance += calculate_point_lighting(base_color);
|
|
224
|
-
|
|
225
|
-
cumulative_radiance += calculate_directional_lighting(base_color);
|
|
226
|
-
|
|
227
|
-
return cumulative_radiance;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
vec3 calculate_directional_lighting(vec4 base_color) {
|
|
231
|
-
vec3 cumulative_radiance = vec3(0.0,0.0,0.0);
|
|
232
|
-
|
|
233
|
-
for (int i = 0; i < directional_lights_count; i++) {
|
|
234
|
-
DirectionalLight light = directional_lights[i];
|
|
235
|
-
vec3 light_dir = (light.rotation * vec4(1.0,0.0,0.0, 0.0)).xyz;
|
|
236
|
-
float n_dot_l = max(dot(v_normal, light_dir), 0.0);
|
|
237
|
-
vec3 product = Fr(light_dir, base_color, false) * L(light) * n_dot_l;
|
|
238
|
-
float shadow = calculate_directional_shadow(i, light_dir);
|
|
239
|
-
cumulative_radiance += product * light.color * shadow;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
return cumulative_radiance;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
vec3 Fr(vec3 light_dir, vec4 albedo_color, bool image_lighting) {
|
|
246
|
-
|
|
247
|
-
// COOK TORRANCE
|
|
248
|
-
vec3 view_vector = normalize(camera_position - v_frag_pos.xyz);
|
|
249
|
-
vec3 halfway_vector = (light_dir + view_vector) / length(light_dir + view_vector);
|
|
250
|
-
|
|
251
|
-
float roughness = max(material.roughness, 0.04);
|
|
252
|
-
|
|
253
|
-
float k;
|
|
254
|
-
if (image_lighting)
|
|
255
|
-
k = pow(roughness, 2.0) / 2.0;
|
|
256
|
-
else
|
|
257
|
-
k = pow(roughness + 1.0, 2.0) / 8.0;
|
|
258
|
-
|
|
259
|
-
/// DGF
|
|
260
|
-
float D = distribution_GGX(v_normal, halfway_vector, roughness);
|
|
261
|
-
float G = geometry_smith(v_normal, view_vector, light_dir, k);
|
|
262
|
-
vec3 F0 = vec3(0.04);
|
|
263
|
-
F0 = mix(F0, albedo_color.rgb, material.metalic);
|
|
264
|
-
vec3 F = fresnel_schlick(max(dot(halfway_vector, view_vector), 0.0), F0);
|
|
265
|
-
|
|
266
|
-
vec3 numerator = D * G * F;
|
|
267
|
-
float denominator = 4.0 * max(dot(v_normal, view_vector), 0.0) * max(dot(v_normal, light_dir), 0.0) + 0.0001;
|
|
268
|
-
vec3 specular = numerator / denominator;
|
|
269
|
-
|
|
270
|
-
vec3 ks = F;
|
|
271
|
-
vec3 kd = vec3(1.0) - ks;
|
|
272
|
-
kd *= 1.0 - material.metalic;
|
|
273
|
-
|
|
274
|
-
vec3 f_lambert = albedo_color.rgb / PI;
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
return kd * f_lambert + specular;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
float L(PointLight light) {
|
|
281
|
-
float light_distance = distance(v_frag_pos.xyz, light.position);
|
|
282
|
-
// Standard ranged attenuation
|
|
283
|
-
float attenuation = clamp(1.0 - light_distance / light.range, 0.0, 1.0);
|
|
284
|
-
return light.energy * attenuation * attenuation;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
float L(DirectionalLight light) {
|
|
288
|
-
return light.energy;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
float distribution_GGX(vec3 N, vec3 H, float a)
|
|
292
|
-
{
|
|
293
|
-
float a2 = a*a;
|
|
294
|
-
float NdotH = max(dot(N, H), 0.0);
|
|
295
|
-
float NdotH2 = NdotH*NdotH;
|
|
296
|
-
|
|
297
|
-
float nom = a2;
|
|
298
|
-
float denom = (NdotH2 * (a2 - 1.0) + 1.0);
|
|
299
|
-
denom = PI * denom * denom;
|
|
300
|
-
|
|
301
|
-
return nom / denom;
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
float geometry_schlick_GGX(float NdotV, float k)
|
|
306
|
-
{
|
|
307
|
-
float nom = NdotV;
|
|
308
|
-
float denom = NdotV * (1.0 - k) + k;
|
|
309
|
-
|
|
310
|
-
return nom / denom;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
float geometry_smith(vec3 N, vec3 V, vec3 L, float k)
|
|
314
|
-
{
|
|
315
|
-
float NdotV = max(dot(N, V), 0.0);
|
|
316
|
-
float NdotL = max(dot(N, L), 0.0);
|
|
317
|
-
float ggx1 = geometry_schlick_GGX(NdotV, k);
|
|
318
|
-
float ggx2 = geometry_schlick_GGX(NdotL, k);
|
|
319
|
-
|
|
320
|
-
return ggx1 * ggx2;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
vec3 fresnel_schlick(float cosTheta, vec3 F0)
|
|
324
|
-
{
|
|
325
|
-
return F0 + (1.0 - F0) * pow(clamp(1.0 - cosTheta, 0.0, 1.0), 5.0);
|
|
326
|
-
}`;
|
|
327
|
-
//# sourceMappingURL=default_3d.fs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_3d.fs.js","sourceRoot":"","sources":["../../src/shaders/default_3d.fs.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqUb,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
declare const _default: "#version 300 es\nprecision lowp float;\nprecision lowp sampler2DArrayShadow;\n\nuniform mediump int directional_lights_count;\nuniform mediump int point_lights_count;\nuniform mediump int spot_lights_count;\n\n#define N_DIRECTIONAL_LIGHTS 10\n#define N_POINT_LIGHTS 10\n#define N_SPOT_LIGHTS 10\n\n// Vertex position attribute\nlayout(location = 0) in vec3 a_position;\nlayout(location = 1) in vec3 a_normal;\nlayout(location = 2) in vec2 a_uv;\n\nout vec3 v_normal;\nout vec2 v_uv;\nout vec4 v_frag_pos;\n\n\n// Uniform MVP matrix\nuniform mat4 u_model;\nuniform mat4 u_view;\nuniform mat4 u_projection;\n\nvoid main() {\n\n v_frag_pos = u_model * vec4(a_position, 1.0);\n v_normal = normalize(mat3(transpose(inverse(u_model))) * a_normal);\n v_uv = a_uv;\n\n gl_Position = u_projection * u_view * v_frag_pos;\n}";
|
|
2
|
-
export default _default;
|
|
3
|
-
//# sourceMappingURL=default_3d.vs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_3d.vs.d.ts","sourceRoot":"","sources":["../../src/shaders/default_3d.vs.ts"],"names":[],"mappings":";AAAA,wBAkCG"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export default `#version 300 es
|
|
2
|
-
precision lowp float;
|
|
3
|
-
precision lowp sampler2DArrayShadow;
|
|
4
|
-
|
|
5
|
-
uniform mediump int directional_lights_count;
|
|
6
|
-
uniform mediump int point_lights_count;
|
|
7
|
-
uniform mediump int spot_lights_count;
|
|
8
|
-
|
|
9
|
-
#define N_DIRECTIONAL_LIGHTS 10
|
|
10
|
-
#define N_POINT_LIGHTS 10
|
|
11
|
-
#define N_SPOT_LIGHTS 10
|
|
12
|
-
|
|
13
|
-
// Vertex position attribute
|
|
14
|
-
layout(location = 0) in vec3 a_position;
|
|
15
|
-
layout(location = 1) in vec3 a_normal;
|
|
16
|
-
layout(location = 2) in vec2 a_uv;
|
|
17
|
-
|
|
18
|
-
out vec3 v_normal;
|
|
19
|
-
out vec2 v_uv;
|
|
20
|
-
out vec4 v_frag_pos;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// Uniform MVP matrix
|
|
24
|
-
uniform mat4 u_model;
|
|
25
|
-
uniform mat4 u_view;
|
|
26
|
-
uniform mat4 u_projection;
|
|
27
|
-
|
|
28
|
-
void main() {
|
|
29
|
-
|
|
30
|
-
v_frag_pos = u_model * vec4(a_position, 1.0);
|
|
31
|
-
v_normal = normalize(mat3(transpose(inverse(u_model))) * a_normal);
|
|
32
|
-
v_uv = a_uv;
|
|
33
|
-
|
|
34
|
-
gl_Position = u_projection * u_view * v_frag_pos;
|
|
35
|
-
}`;
|
|
36
|
-
//# sourceMappingURL=default_3d.vs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_3d.vs.js","sourceRoot":"","sources":["../../src/shaders/default_3d.vs.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCb,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_directional_shadow.fs.d.ts","sourceRoot":"","sources":["../../src/shaders/default_directional_shadow.fs.ts"],"names":[],"mappings":";AAAA,wBAIG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_directional_shadow.fs.js","sourceRoot":"","sources":["../../src/shaders/default_directional_shadow.fs.ts"],"names":[],"mappings":"AAAA,eAAe;;;;EAIb,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
declare const _default: "#version 300 es\nlayout (location = 0) in vec3 aPos;\n\nuniform mat4 u_light_space_matrix;\nuniform mat4 u_model;\n\nvoid main()\n{\n gl_Position = u_light_space_matrix * u_model * vec4(aPos, 1.0);\n}";
|
|
2
|
-
export default _default;
|
|
3
|
-
//# sourceMappingURL=default_directional_shadow.vs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_directional_shadow.vs.d.ts","sourceRoot":"","sources":["../../src/shaders/default_directional_shadow.vs.ts"],"names":[],"mappings":";AAAA,wBASG"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export default `#version 300 es
|
|
2
|
-
layout (location = 0) in vec3 aPos;
|
|
3
|
-
|
|
4
|
-
uniform mat4 u_light_space_matrix;
|
|
5
|
-
uniform mat4 u_model;
|
|
6
|
-
|
|
7
|
-
void main()
|
|
8
|
-
{
|
|
9
|
-
gl_Position = u_light_space_matrix * u_model * vec4(aPos, 1.0);
|
|
10
|
-
}`;
|
|
11
|
-
//# sourceMappingURL=default_directional_shadow.vs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_directional_shadow.vs.js","sourceRoot":"","sources":["../../src/shaders/default_directional_shadow.vs.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;EASb,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
declare const _default: "#version 300 es\nprecision lowp float;\n\nin vec4 v_frag_pos;\nout vec4 frag_color;\n\n\nuniform vec3 origin;\nuniform float range;\n\n\nvoid main()\n{\n float dist = length(v_frag_pos.xyz - origin);\n gl_FragDepth = dist / range;\n}\n";
|
|
2
|
-
export default _default;
|
|
3
|
-
//# sourceMappingURL=default_point_shadow.fs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_point_shadow.fs.d.ts","sourceRoot":"","sources":["../../src/shaders/default_point_shadow.fs.ts"],"names":[],"mappings":";AAAA,wBAgBE"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export default `#version 300 es
|
|
2
|
-
precision lowp float;
|
|
3
|
-
|
|
4
|
-
in vec4 v_frag_pos;
|
|
5
|
-
out vec4 frag_color;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
uniform vec3 origin;
|
|
9
|
-
uniform float range;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
void main()
|
|
13
|
-
{
|
|
14
|
-
float dist = length(v_frag_pos.xyz - origin);
|
|
15
|
-
gl_FragDepth = dist / range;
|
|
16
|
-
}
|
|
17
|
-
`;
|
|
18
|
-
//# sourceMappingURL=default_point_shadow.fs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_point_shadow.fs.js","sourceRoot":"","sources":["../../src/shaders/default_point_shadow.fs.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;CAgBd,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
declare const _default: "#version 300 es\nlayout (location = 0) in vec3 a_position;\n\nout vec4 v_frag_pos;\n\nuniform mat4 u_model;\nuniform mat4 u_light_space_matrix;\n\nvoid main()\n{\n v_frag_pos = u_model * vec4(a_position, 1.0);\n gl_Position = u_light_space_matrix * v_frag_pos;\n}";
|
|
2
|
-
export default _default;
|
|
3
|
-
//# sourceMappingURL=default_point_shadow.vs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_point_shadow.vs.d.ts","sourceRoot":"","sources":["../../src/shaders/default_point_shadow.vs.ts"],"names":[],"mappings":";AAAA,wBAYG"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export default `#version 300 es
|
|
2
|
-
layout (location = 0) in vec3 a_position;
|
|
3
|
-
|
|
4
|
-
out vec4 v_frag_pos;
|
|
5
|
-
|
|
6
|
-
uniform mat4 u_model;
|
|
7
|
-
uniform mat4 u_light_space_matrix;
|
|
8
|
-
|
|
9
|
-
void main()
|
|
10
|
-
{
|
|
11
|
-
v_frag_pos = u_model * vec4(a_position, 1.0);
|
|
12
|
-
gl_Position = u_light_space_matrix * v_frag_pos;
|
|
13
|
-
}`;
|
|
14
|
-
//# sourceMappingURL=default_point_shadow.vs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_point_shadow.vs.js","sourceRoot":"","sources":["../../src/shaders/default_point_shadow.vs.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;EAYb,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
declare const _default: "#version 300 es\nprecision lowp float;\n\nin vec3 v_texCoord;\n\nout vec4 fragColor;\n\nuniform samplerCube skybox_texture;\n\nvoid main() {\n fragColor = texture(skybox_texture, v_texCoord);\n}\n";
|
|
2
|
-
export default _default;
|
|
3
|
-
//# sourceMappingURL=default_skybox.fs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_skybox.fs.d.ts","sourceRoot":"","sources":["../../src/shaders/default_skybox.fs.ts"],"names":[],"mappings":";AAAA,wBAYE"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export default `#version 300 es
|
|
2
|
-
precision lowp float;
|
|
3
|
-
|
|
4
|
-
in vec3 v_texCoord;
|
|
5
|
-
|
|
6
|
-
out vec4 fragColor;
|
|
7
|
-
|
|
8
|
-
uniform samplerCube skybox_texture;
|
|
9
|
-
|
|
10
|
-
void main() {
|
|
11
|
-
fragColor = texture(skybox_texture, v_texCoord);
|
|
12
|
-
}
|
|
13
|
-
`;
|
|
14
|
-
//# sourceMappingURL=default_skybox.fs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_skybox.fs.js","sourceRoot":"","sources":["../../src/shaders/default_skybox.fs.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;CAYd,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
declare const _default: "#version 300 es\nprecision lowp float;\n\nlayout(location = 0) in vec3 a_position;\n\nout vec3 v_texCoord;\n\nuniform mat4 u_view;\nuniform mat4 u_projection;\n\nvoid main() {\n // Remove translation from view matrix\n mat4 rotView = mat4(mat3(u_view));\n\n v_texCoord = a_position;\n\n gl_Position = u_projection * rotView * vec4(a_position, 1.0);\n\n // Make sure depth is at far plane\n gl_Position = gl_Position.xyww;\n}\n";
|
|
2
|
-
export default _default;
|
|
3
|
-
//# sourceMappingURL=default_skybox.vs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_skybox.vs.d.ts","sourceRoot":"","sources":["../../src/shaders/default_skybox.vs.ts"],"names":[],"mappings":";AAAA,wBAqBE"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export default `#version 300 es
|
|
2
|
-
precision lowp float;
|
|
3
|
-
|
|
4
|
-
layout(location = 0) in vec3 a_position;
|
|
5
|
-
|
|
6
|
-
out vec3 v_texCoord;
|
|
7
|
-
|
|
8
|
-
uniform mat4 u_view;
|
|
9
|
-
uniform mat4 u_projection;
|
|
10
|
-
|
|
11
|
-
void main() {
|
|
12
|
-
// Remove translation from view matrix
|
|
13
|
-
mat4 rotView = mat4(mat3(u_view));
|
|
14
|
-
|
|
15
|
-
v_texCoord = a_position;
|
|
16
|
-
|
|
17
|
-
gl_Position = u_projection * rotView * vec4(a_position, 1.0);
|
|
18
|
-
|
|
19
|
-
// Make sure depth is at far plane
|
|
20
|
-
gl_Position = gl_Position.xyww;
|
|
21
|
-
}
|
|
22
|
-
`;
|
|
23
|
-
//# sourceMappingURL=default_skybox.vs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default_skybox.vs.js","sourceRoot":"","sources":["../../src/shaders/default_skybox.vs.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;CAqBd,CAAC"}
|
package/dist/utility.d.ts
DELETED
package/dist/utility.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,OAAO;WACX,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAM5C,UAAU,CAAC,gBAAgB,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAE,OAAO,CAAC,WAAW,CAAC;CAStG"}
|
package/dist/utility.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export default class Utility {
|
|
2
|
-
static async load_text_file(url) {
|
|
3
|
-
const response = await fetch(url);
|
|
4
|
-
if (!response.ok)
|
|
5
|
-
throw new Error(`Failed to load ${url}`);
|
|
6
|
-
return await response.text();
|
|
7
|
-
}
|
|
8
|
-
static async load_image(image_asset_path, options) {
|
|
9
|
-
const res = await fetch(image_asset_path);
|
|
10
|
-
if (res.ok) {
|
|
11
|
-
const blob = await res.blob();
|
|
12
|
-
return await createImageBitmap(blob, options);
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
throw new Error(`The .obj image asset file at "${image_asset_path}" does not exist.`);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=utility.js.map
|
package/dist/utility.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;QAC3D,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAuB,EAAE,OAA4B;QACzE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,iCAAiC,gBAAgB,mBAAmB,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;CACJ"}
|