004 it's a whole fox!
|
@ -11,6 +11,7 @@ https://art.mekanoe.com
|
|||
- [./001-platform-provenance](https://art.mekanoe.com/001-platform-provenance)
|
||||
- [./002-webgl-engine](https://art.mekanoe.com/002-webgl-engine)
|
||||
- [./003-scene](https://art.mekanoe.com/003-scene)
|
||||
- [./004-a-new-leaf](https://art.mekanoe.com/004-a-new-leaf)
|
||||
|
||||
## Development
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<canvas id="canvas" width="1280" height="720"></canvas>
|
||||
<div id="telemetry">XX.X FPS (XX.X ms)</div>
|
||||
<div id="loading" class="loading-active"><div id="loading-text">[noeidelon] [stage 1]<br />bootstrapping...<span id="stage1-error"><br />this is taking a while...</span><span id="stage1-error2"><br />[panic] <span style="color: red">heck wtf</span></span></div></div>
|
||||
<div id="editor"></div>
|
||||
<nav>##nav##</nav>
|
||||
</main>
|
||||
<script src="/##name##/main.js" type="module"></script>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<canvas id="canvas" width="1280" height="720"></canvas>
|
||||
<div id="telemetry">XX.X FPS (XX.X ms)</div>
|
||||
<div id="loading" class="loading-active"><div id="loading-text">[noeidelon] [stage 1]<br />bootstrapping...<span id="stage1-error"><br />this is taking a while...</span><span id="stage1-error2"><br />[panic] <span style="color: red">heck wtf</span></span></div></div>
|
||||
<nav><a class="nav-left" href="/002-webgl-engine">⇠ 002-webgl-engine</a></nav>
|
||||
<div id="editor"></div>
|
||||
<nav><a class="nav-left" href="/002-webgl-engine">⇠ 002-webgl-engine</a><a class="nav-right" href="/004-a-new-leaf">004-a-new-leaf ⇢</a></nav>
|
||||
</main>
|
||||
<script src="/003-scene/main.js" type="module"></script>
|
||||
|
|
29
html/004-a-new-leaf/index.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8" />
|
||||
<title>com.mekanoe.art // 004-a-new-leaf</title>
|
||||
<style>
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
background-color: black;
|
||||
color: white;
|
||||
font-family: Atkinson Hyperlegible, sans-serif;
|
||||
}
|
||||
main {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="/work.css" />
|
||||
<main>
|
||||
<canvas id="canvas" width="1280" height="720"></canvas>
|
||||
<div id="telemetry">XX.X FPS (XX.X ms)</div>
|
||||
<div id="loading" class="loading-active"><div id="loading-text">[noeidelon] [stage 1]<br />bootstrapping...<span id="stage1-error"><br />this is taking a while...</span><span id="stage1-error2"><br />[panic] <span style="color: red">heck wtf</span></span></div></div>
|
||||
<div id="editor"></div>
|
||||
<nav><a class="nav-left" href="/003-scene">⇠ 003-scene</a></nav>
|
||||
</main>
|
||||
<script src="/004-a-new-leaf/main.js" type="module"></script>
|
2
html/004-a-new-leaf/main.js
Normal file
BIN
html/backdrop-0e5863d39a0305cf.png
Normal file
After Width: | Height: | Size: 6.5 MiB |
BIN
html/backdrop-normals-6ba4b06676f112b6.png
Normal file
After Width: | Height: | Size: 8.6 MiB |
8
html/chunk-2ef356c72587f126.js
Normal file
BIN
html/fox-normal-7ce4a77b1285eb7a.png
Normal file
After Width: | Height: | Size: 2.6 MiB |
BIN
html/fox-tex-03f042508a92e722.png
Normal file
After Width: | Height: | Size: 977 KiB |
|
@ -31,6 +31,7 @@
|
|||
</header>
|
||||
<section id="works">
|
||||
<ul>
|
||||
<li><a href="/004-a-new-leaf">./004-a-new-leaf</a></li>
|
||||
<li><a href="/003-scene">./003-scene</a></li>
|
||||
<li><a href="/002-webgl-engine">./002-webgl-engine</a></li>
|
||||
<li><a href="/001-platform-provenance">./001-platform-provenance</a></li>
|
||||
|
|
BIN
html/ramp-aa773f5148819e95.png
Normal file
After Width: | Height: | Size: 509 B |
|
@ -4,7 +4,7 @@
|
|||
"main": "./hack/build.ts",
|
||||
"scripts": {
|
||||
"build": "bun $BUNFLAGS .",
|
||||
"build:watch": "MINIFY=false nodemon -e ts,js,frag,vert,glsl,ply",
|
||||
"build:watch": "MINIFY=false nodemon -e ts,js,frag,vert,glsl,ply,png",
|
||||
"serve": "serve ./html",
|
||||
"dev": "run-p serve build:watch"
|
||||
},
|
||||
|
|
|
@ -4,16 +4,14 @@ import { Renderable } from "../renderer/renderable";
|
|||
import { Transform, etoq, v3 } from "../renderer/transform";
|
||||
import { quat } from "gl-matrix";
|
||||
import { trianglething, texture0, texture1 } from "../meshes/trianglething";
|
||||
import teapot from "../meshes/teapot";
|
||||
import { basic } from "../common-shaders/basic";
|
||||
import { Texture } from "../renderer/texture";
|
||||
import { errorShader } from "../common-shaders/error";
|
||||
import { basicVertexRounding } from "../common-shaders/basic-vertex-rounding";
|
||||
|
||||
const app = new WebGLApp({ fov: 45 });
|
||||
|
||||
const camera = new Transform([2, 3, 3], etoq([-15, 40, 0]));
|
||||
const light = new Transform([1, 1, 0]);
|
||||
const light = new Transform([2, 2, 0]);
|
||||
|
||||
const transform = new Transform(v3(0), etoq([0, 0, 0]));
|
||||
const transform2 = new Transform([-3, 0, 1], etoq([0, 0, 0]));
|
||||
|
|
70
src/004-a-new-leaf/main.ts
Normal file
|
@ -0,0 +1,70 @@
|
|||
import { MeshRenderer } from "../renderer/mesh-renderer";
|
||||
import { WebGLApp } from "../renderer/webgl";
|
||||
import { Renderable } from "../renderer/renderable";
|
||||
import { Transform, etoq, v3 } from "../renderer/transform";
|
||||
import { Texture } from "../renderer/texture";
|
||||
import { sonya } from "../common-shaders/sonya";
|
||||
import { cubeBackdrop, defaultTransform } from "../meshes/cube-backdrop";
|
||||
import { rgbToFloat } from "../renderer/color-utils";
|
||||
import rampTexture from "./textures/ramp.png";
|
||||
import fox from "../meshes/fox/fox";
|
||||
import foxImg from "../meshes/fox/fox-tex.png";
|
||||
import foxNormal from "../meshes/fox/fox-normal.png";
|
||||
import backdropImg from "./textures/backdrop.png";
|
||||
import backdropNormalsImg from "./textures/backdrop-normals.png";
|
||||
|
||||
const app = new WebGLApp({ fov: 45 });
|
||||
|
||||
const camera = new Transform([0, 2, 4], etoq([-15, 0, 0]));
|
||||
const light = new Transform([10, 10, 10]);
|
||||
|
||||
const transform = new Transform(v3(0), etoq([0, 180 + 45, 0]), v3(0.1));
|
||||
|
||||
const ramp = new Texture(app, rampTexture, { uvClamp: true });
|
||||
const backdropTex = new Texture(app, backdropImg);
|
||||
const backdropNormalsTex = new Texture(app, backdropNormalsImg);
|
||||
const foxTex = new Texture(app, foxImg);
|
||||
const foxNormalTex = new Texture(app, foxNormal);
|
||||
|
||||
const ambientLight = rgbToFloat(35, 76, 37);
|
||||
|
||||
app.onUpdate((time, app) => {
|
||||
// const wiggle = 40 * (Math.sin(time) * 0.001);
|
||||
// camera.position = [wiggle, 2, 4 - wiggle];
|
||||
});
|
||||
|
||||
new Renderable(
|
||||
app,
|
||||
transform,
|
||||
new MeshRenderer(
|
||||
app,
|
||||
fox,
|
||||
sonya(app, ambientLight)
|
||||
.addTexture("texture0", foxTex)
|
||||
.addTexture("texture1", foxNormalTex)
|
||||
.addTexture("texture2", ramp),
|
||||
camera,
|
||||
light
|
||||
).configure({})
|
||||
// true
|
||||
);
|
||||
|
||||
new Renderable(
|
||||
app,
|
||||
defaultTransform,
|
||||
new MeshRenderer(
|
||||
app,
|
||||
cubeBackdrop,
|
||||
sonya(app, ambientLight)
|
||||
.addTexture("texture0", backdropTex)
|
||||
.addTexture("texture1", backdropNormalsTex)
|
||||
.addTexture("texture2", ramp),
|
||||
camera,
|
||||
light
|
||||
).configure({})
|
||||
// true
|
||||
);
|
||||
|
||||
// createGizmo(app, camera, light);
|
||||
|
||||
app.start();
|
BIN
src/004-a-new-leaf/textures/backdrop-normals.png
Normal file
After Width: | Height: | Size: 8.6 MiB |
BIN
src/004-a-new-leaf/textures/backdrop.png
Normal file
After Width: | Height: | Size: 6.5 MiB |
BIN
src/004-a-new-leaf/textures/ramp.png
Normal file
After Width: | Height: | Size: 509 B |
|
@ -22,6 +22,7 @@ export const basicShaderConfig: ShaderConfig = {
|
|||
albedo: "u_albedo",
|
||||
texture0: "u_texture_0",
|
||||
texture1: "u_texture_1",
|
||||
texture2: "u_texture_2",
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ export const basicShaderConfig: ShaderConfig = {
|
|||
albedo: "u_albedo",
|
||||
texture0: "u_texture_0",
|
||||
texture1: "u_texture_1",
|
||||
texture2: "u_texture_2",
|
||||
},
|
||||
};
|
||||
|
||||
|
|
37
src/common-shaders/sonya.ts
Normal file
|
@ -0,0 +1,37 @@
|
|||
import { Shader, ShaderConfig } from "../renderer/shader";
|
||||
import { WebGLApp } from "../renderer/webgl";
|
||||
import frag from "./toon-shading.frag";
|
||||
import vert from "./basic-vertex-rounding.vert";
|
||||
import { vec4 } from "gl-matrix";
|
||||
|
||||
export const basicShaderConfig: ShaderConfig = {
|
||||
attributes: {
|
||||
vertex: "a_vertex",
|
||||
uv0: "a_uv0",
|
||||
normal: "a_normal",
|
||||
vertexColor: "a_vertex_color",
|
||||
},
|
||||
|
||||
uniforms: {
|
||||
view: "u_view",
|
||||
projection: "u_projection",
|
||||
objectToWorld: "u_object_to_world",
|
||||
objectToWorldInv: "u_object_to_world_inv",
|
||||
light0: "u_light_0",
|
||||
light0Color: "u_light_0_color",
|
||||
time: "u_time",
|
||||
albedo: "u_albedo",
|
||||
texture0: "u_texture_0",
|
||||
texture1: "u_texture_1",
|
||||
texture2: "u_texture_2",
|
||||
},
|
||||
};
|
||||
|
||||
export const sonya = (app: WebGLApp, ambientLight: vec4 = [0.1, 0.1, 0.1, 1]) =>
|
||||
new Shader(basicShaderConfig)
|
||||
.vertex(vert)
|
||||
.fragment(frag)
|
||||
.app(app)
|
||||
.prerenderHook(({ gl }: WebGLApp, shader: Shader) => {
|
||||
gl.uniform4fv(shader.mappings.uniforms.albedo, ambientLight);
|
||||
});
|
30
src/common-shaders/toon-shading.frag
Normal file
|
@ -0,0 +1,30 @@
|
|||
#version 300 es
|
||||
precision highp float;
|
||||
|
||||
uniform vec4 u_light_0_color;
|
||||
uniform vec4 u_albedo; // ambient color
|
||||
|
||||
uniform sampler2D u_texture_0;
|
||||
uniform sampler2D u_texture_1;
|
||||
uniform sampler2D u_texture_2;
|
||||
|
||||
in vec2 uv0;
|
||||
in vec3 normal;
|
||||
in vec3 light_pos;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
// vec4 normalTex = texture(u_texture_1, uv0);
|
||||
// vec3 normal = normalize(normal * normalTex.rgb);
|
||||
vec3 normal = normalize(normal);
|
||||
|
||||
float light = clamp(dot(normal, light_pos), 0.0, 1.0);
|
||||
|
||||
vec3 ramp = texture(u_texture_2, vec2(light, 0.0)).rgb;
|
||||
|
||||
fragColor = vec4(1.0);
|
||||
fragColor.rgb = texture(u_texture_0, uv0).rgb;
|
||||
fragColor.rgb *= ramp;
|
||||
fragColor.a = 1.0;
|
||||
}
|
11
src/common-shaders/vertex-colors.frag
Normal file
|
@ -0,0 +1,11 @@
|
|||
#version 300 es
|
||||
precision highp float;
|
||||
|
||||
in vec4 vertex_color;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
|
||||
void main() {
|
||||
fragColor = vertex_color;
|
||||
}
|
BIN
src/meshes/cube-backdrop/cube-backdrop.blend
Normal file
29
src/meshes/cube-backdrop/cube-backdrop.ply
Normal file
|
@ -0,0 +1,29 @@
|
|||
ply
|
||||
format ascii 1.0
|
||||
comment Created in Blender version 3.6.4
|
||||
element vertex 8
|
||||
property float x
|
||||
property float y
|
||||
property float z
|
||||
property float nx
|
||||
property float ny
|
||||
property float nz
|
||||
property float s
|
||||
property float t
|
||||
element face 6
|
||||
property list uchar uint vertex_indices
|
||||
end_header
|
||||
-0.10000001 -0.0025735903 -0.10000001 0.5773503 0.5773503 0.5773503 0.5 0.5
|
||||
-0.10000001 0.19742644 0.10000001 1 0 0 -5.9604645e-08 1
|
||||
-0.10000001 -0.0025735903 0.10000001 0.70710677 0.70710677 0 0 0.49999997
|
||||
0.10000001 -0.0025735903 -0.10000001 0 0.70710677 0.70710677 1 0.50000006
|
||||
-0.10000001 0.19742644 -0.10000001 0.70710677 0 0.70710677 0.49999997 1
|
||||
0.10000001 -0.0025735903 0.10000001 0 1 0 1 0
|
||||
0.10000001 0.19742644 -0.10000001 0 0 1 1 1
|
||||
-0.10000001 -0.0025735903 0.10000001 0.70710677 0.70710677 0 0.50000006 0
|
||||
3 0 1 2
|
||||
3 3 4 0
|
||||
3 0 5 3
|
||||
3 0 4 1
|
||||
3 3 6 4
|
||||
3 0 7 5
|
12
src/meshes/cube-backdrop/cube-backdrop.ts
Normal file
|
@ -0,0 +1,12 @@
|
|||
import { Mesh } from "../../renderer/mesh";
|
||||
|
||||
// prettier-ignore
|
||||
export default new Mesh({
|
||||
colors: null,
|
||||
faces: new Uint8Array([0,1,2,3,4,0,0,5,3,0,4,1,3,6,4,0,7,5]),
|
||||
name: "src/meshes/cube-backdrop/cube-backdrop.ply",
|
||||
normals: new Float32Array([0.5773503,0.5773503,0.5773503,1,0,0,0.70710677,0.70710677,0,0,0.70710677,0.70710677,0.70710677,0,0.70710677,0,1,0,0,0,1,0.70710677,0.70710677,0]),
|
||||
positions: new Float32Array([-0.10000001,-0.0025735903,-0.10000001,-0.10000001,0.19742644,0.10000001,-0.10000001,-0.0025735903,0.10000001,0.10000001,-0.0025735903,-0.10000001,-0.10000001,0.19742644,-0.10000001,0.10000001,-0.0025735903,0.10000001,0.10000001,0.19742644,-0.10000001,-0.10000001,-0.0025735903,0.10000001]),
|
||||
uvs: new Float32Array([0.5,0.5,-5.9604645e-8,1,0,0.49999997,1,0.50000006,0.49999997,1,1,0,1,1,0.50000006,0]),
|
||||
vertexCount: 8
|
||||
});
|
6
src/meshes/cube-backdrop/index.ts
Normal file
|
@ -0,0 +1,6 @@
|
|||
import { Transform, etoq, v3 } from "../../renderer/transform";
|
||||
import cubeBackdrop from "./cube-backdrop";
|
||||
|
||||
export const defaultTransform = new Transform(v3(0), etoq([0, -45, 0]), v3(20));
|
||||
|
||||
export { cubeBackdrop };
|
BIN
src/meshes/cube-backdrop/uv-template.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
src/meshes/fox/fox-normal.png
Normal file
After Width: | Height: | Size: 2.6 MiB |
BIN
src/meshes/fox/fox-tex.png
Normal file
After Width: | Height: | Size: 977 KiB |
BIN
src/meshes/fox/fox-tex.xcf
Normal file
BIN
src/meshes/fox/fox-uv.png
Normal file
After Width: | Height: | Size: 326 KiB |
BIN
src/meshes/fox/fox.blend
Normal file
674
src/meshes/fox/fox.ply
Normal file
|
@ -0,0 +1,674 @@
|
|||
ply
|
||||
format ascii 1.0
|
||||
comment Created in Blender version 3.6.4
|
||||
element vertex 285
|
||||
property float x
|
||||
property float y
|
||||
property float z
|
||||
property float nx
|
||||
property float ny
|
||||
property float nz
|
||||
property float s
|
||||
property float t
|
||||
element face 374
|
||||
property list uchar uint vertex_indices
|
||||
end_header
|
||||
-0.6999253 6.443001 -0.82603 0.3475203 -0.1423119 -0.92681 0.21851481 0.38709354
|
||||
0.07097474 5.343301 -0.52663046 0.5162422 0.12797521 -0.8468272 0.25122124 0.29925498
|
||||
-0.76262593 4.472701 -1.15393 0.15832935 0.05530619 -0.98583627 0.33613995 0.31277353
|
||||
-1.7783258 5.520501 -0.86433035 -0.34248725 0.027904412 -0.9391081 0.31780326 0.41546077
|
||||
-2.2427258 6.713101 -0.82603 -0.5169309 -0.31768712 -0.7948945 0.26634175 0.49754715
|
||||
-1.5250261 4.4763007 -0.9856301 -0.48697895 -0.1626665 -0.85813236 0.36926088 0.35428312
|
||||
0.29497454 9.249201 0.16336976 0.979832 0.13666466 -0.14578043 0.8862014 0.7660378
|
||||
0.06327439 8.8725 -0.28472978 0.9031805 0.21487509 -0.37160963 0.96414614 0.65773886
|
||||
-0.035225682 9.543601 0.14946976 0.66321534 0.26724067 -0.6990907 0.9142767 0.82184976
|
||||
-0.30342564 9.674201 -0.23032992 0.6848186 0.23503296 -0.68977004 0.96414614 0.8656495
|
||||
2.4808748 3.6319008 -0.11143037 0.50283414 0.37262148 -0.779943 0.24378048 0.15517116
|
||||
2.0297747 3.2159004 -0.4459305 0.23640795 0.47815725 -0.84585875 0.27324826 0.1538348
|
||||
1.5565743 4.603301 -0.21123049 0.3647613 0.40136182 -0.8401535 0.24071635 0.21034758
|
||||
2.1004748 3.2381003 3.2929707 0.3046436 0.23757984 0.92236 0.12782207 0.13377228
|
||||
1.8371744 4.748301 2.81227 0.31008115 0.576068 0.7563038 0.13686845 0.17050092
|
||||
0.20437472 4.420901 2.9141703 -0.22806334 0.32389933 0.91819185 0.097095504 0.18026535
|
||||
1.8253747 0.4645001 -1.7956301 0.17951295 -0.316014 -0.931617 0.3456612 0.015984222
|
||||
0.91437465 0.9539002 -2.1209302 -0.17395478 -0.060770363 -0.9828767 0.38372317 0.05219409
|
||||
2.4374743 1.0497 -1.8992304 0.3371145 -0.028111659 -0.94104385 0.3173124 0.03967564
|
||||
2.5767748 2.7875004 -0.6003304 0.5286752 0.36182427 -0.76784486 0.2669188 0.12665303
|
||||
1.7599748 1.8992002 -1.1086301 0.37282482 0.34924614 -0.8596678 0.3150151 0.10144508
|
||||
1.5595742 2.5219004 -1.29143 0.04436654 0.3120137 -0.9490411 0.312529 0.12937495
|
||||
0.24357454 3.5395007 -0.67183006 0.1748497 -0.08175629 -0.981195 0.32927862 0.22344446
|
||||
0.24817431 4.333201 -0.45933002 0.4760932 0.18387188 -0.8599573 0.2904697 0.2528519
|
||||
-0.3960259 7.7391005 -1.2657304 0.77194935 -0.10489054 -0.6269707 0.13747068 0.42125323
|
||||
0.05687409 8.074501 -0.67993015 0.8878576 0.018637033 -0.45974046 0.1110152 0.38961607
|
||||
-0.12432557 6.748201 -0.34603044 0.8233882 0.00536109 -0.5674533 0.17645767 0.34971166
|
||||
-0.06132584 2.9543004 -0.8707303 0.50706327 0.2949509 -0.8098708 0.37940347 0.20685007
|
||||
-0.20062563 3.4773006 -0.68853 0.5776023 0.024086185 -0.8159629 0.3529383 0.23464157
|
||||
0.43317416 2.5253003 -0.46623006 0.20082258 0.4428197 -0.8738313 0.35064337 0.17517665
|
||||
-0.4904259 2.1981003 -0.90393 -0.3673268 -0.008583662 -0.9300523 0.43924242 0.18647039
|
||||
-1.0552258 3.1734004 -1.06763 -0.23037066 -0.14419852 -0.9623597 0.41530237 0.2674248
|
||||
1.4597749 1.4790002 -2.0267305 0.10130113 0.55220604 -0.82753044 0.34998143 0.06725915
|
||||
-1.8893259 8.729101 -1.7110304 -0.30028316 0.6138469 -0.7300836 0.12322961 0.6801839
|
||||
-2.2624261 9.345001 -1.37473 -0.42857707 0.59847176 -0.67687017 0.1720783 0.6964544
|
||||
-0.97242594 9.702102 -0.89533013 0.2310956 0.77802414 -0.5841861 0.16144735 0.7933706
|
||||
-1.2870256 7.527001 -2.5206306 0.40507296 -0.59645694 -0.69293207 0.8861246 0.52512723
|
||||
-1.5926256 8.311801 -2.8306303 0.018303465 0.44150117 -0.8970739 0.84557533 0.5134298
|
||||
-0.3960259 7.7391005 -1.2657304 0.77194935 -0.10489054 -0.6269707 0.9878913 0.42880467
|
||||
2.5549746 1.4319001 2.9302707 0.6770759 -0.15234865 0.71997094 0.12832226 0.086800925
|
||||
2.773675 2.7475002 3.0280704 0.5551748 0.09818922 0.82591754 0.14096868 0.11748978
|
||||
-0.94812554 8.5809 -1.5055304 0.5862696 0.275684 -0.7617652 0.074313566 0.7435197
|
||||
0.05687409 8.074501 -0.67993015 0.8878576 0.018637033 -0.45974046 0.020883663 0.84153533
|
||||
-0.3960259 7.7391005 -1.2657304 0.77194935 -0.10489054 -0.6269707 1.081579e-08 0.77996564
|
||||
-0.40532535 9.700401 0.84696966 0.3452935 0.52275664 0.7794215 0.32931674 0.8416559
|
||||
-1.540426 8.934701 1.6871705 -0.037781123 0.40868607 0.9118927 0.35599756 0.7471563
|
||||
-0.62042546 7.995201 1.7714701 0.47639555 0.22756127 0.8492721 0.4352468 0.76457715
|
||||
-0.15842591 5.3485007 2.2917705 0.038687505 0.4890638 0.87138975 0.09890157 0.21372627
|
||||
3.3480747 1.1927001 -1.4741304 0.4779266 0.31795877 -0.8188335 0.28071728 0.038383927
|
||||
0.23047411 6.9421005 0.8096703 0.9412043 0.3062575 0.14262189 0.12732372 0.2965882
|
||||
0.17777406 7.816401 -0.13533022 0.985557 -0.050912835 -0.16150954 0.11473294 0.36185902
|
||||
-0.80692565 9.159501 -1.4650301 0.41709664 0.43660966 -0.79712135 0.110673696 0.76611084
|
||||
0.73637474 6.182101 0.90636986 0.65320575 0.7567542 -0.025403246 0.1568792 0.258202
|
||||
0.16357423 6.238301 1.5856699 0.5102622 0.5121896 0.6908649 0.11916661 0.24799357
|
||||
2.0266747 5.562201 1.4546701 0.5327677 0.8339708 0.14370571 0.1670033 0.20147358
|
||||
3.4768748 0.57150006 -1.4508302 0.50982845 -0.2752561 -0.81505156 0.27564877 0.017370421
|
||||
4.1452746 0.9685002 -0.7070302 0.9362124 0.034893714 -0.34969804 0.24627076 0.033188876
|
||||
2.576082 3.1560004 -0.31358007 0.49277383 0.474742 -0.729242 0.25064924 0.13463129
|
||||
0.7198746 2.4339004 3.54267 -0.10767815 0.15382154 0.98221403 0.09065693 0.12818988
|
||||
2.288975 1.3705001 3.4610705 0.53157943 -0.18795584 0.825891 0.11538713 0.09199737
|
||||
-0.40532535 9.700401 0.84696966 0.3452935 0.52275664 0.7794215 0.8276462 0.8879465
|
||||
0.14267427 10.748201 0.011170197 0.73606163 0.6634644 -0.13426952 0.8977165 0.9073449
|
||||
-0.35632557 10.885501 -0.026630403 -0.17794462 0.9747583 -0.13484038 0.8979689 0.9335955
|
||||
-1.0288259 10.067701 0.053869635 -0.38528097 0.9081675 0.1636775 0.24703515 0.8216678
|
||||
-1.2105256 9.758201 0.87647027 0.03706524 0.8542405 0.51855505 0.30523577 0.7905776
|
||||
0.09657441 8.901701 0.59447026 0.90783143 0.11600388 0.40297043 0.8020745 0.7431329
|
||||
3.0635746 4.299401 1.8075701 0.8010637 0.5264299 0.2849009 0.17493051 0.15400115
|
||||
2.5929751 4.772801 0.5979699 0.6885465 0.57700217 -0.43928608 0.20319703 0.1803566
|
||||
0.16167451 9.942601 0.37547 0.95855004 0.10577212 0.26456407 0.89068747 0.8602873
|
||||
-0.94812554 8.5809 -1.5055304 0.5862696 0.275684 -0.7617652 0.8669603 0.42128757
|
||||
0.47697452 6.306901 0.39987034 0.78829354 0.5408408 -0.2934015 0.1696568 0.2862294
|
||||
3.0665743 0.73340005 -1.42483 0.21502984 0.04666299 -0.97549206 0.29085746 0.022808408
|
||||
0.6858742 3.7022007 -0.62512976 0.102968186 0.09595936 -0.9900452 0.30401754 0.21331184
|
||||
0.044074252 1.8123003 -1.5475305 -0.42321405 0.5065525 -0.7511954 0.4063384 0.124203816
|
||||
-0.053825382 1.2451001 -1.5953302 -0.69715625 -0.08602459 -0.71173936 0.4319168 0.09517003
|
||||
3.2380748 2.4352005 -0.08572999 0.82457936 0.081235796 -0.5598835 0.24068871 0.10983848
|
||||
0.5252747 5.1989007 -0.29223025 0.4377959 0.26956058 -0.85771316 0.2422915 0.26877972
|
||||
0.8465745 5.738801 0.27866977 0.6155783 0.5745703 -0.5393813 0.19642983 0.2589539
|
||||
-0.7709256 5.724101 2.2065706 0.07019434 0.24138543 0.9678872 0.084621415 0.22762483
|
||||
-0.619426 6.356501 1.9183702 0.3541473 0.25355586 0.9001605 0.08997824 0.2432744
|
||||
-1.9789258 7.178801 -1.18583 -0.29064578 -0.724498 -0.62500215 0.21659407 0.49825695
|
||||
-0.91182566 7.3815007 -1.4608301 0.375913 -0.73612595 -0.56285685 0.16409814 0.4431432
|
||||
0.09657441 8.901701 0.59447026 0.90783143 0.11600388 0.40297043 0.06007273 0.3584054
|
||||
0.06327439 8.8725 -0.28472978 0.9031805 0.21487509 -0.37160963 0.077401064 0.3881148
|
||||
3.0936747 0.6671002 2.4830706 0.5472127 -0.29103354 0.7847661 0.13976377 0.06055675
|
||||
4.0453753 0.52309996 1.4920702 0.87695193 -0.2072897 0.4335738 0.1772671 0.045047924
|
||||
3.6563747 2.4587002 2.1933703 0.8803676 0.14394727 0.45192042 0.1689892 0.10318307
|
||||
0.5219742 1.8811003 -1.0851305 0.15257555 0.7520019 -0.64125955 0.36747235 0.13334484
|
||||
1.1984742 1.6896003 -1.65813 0.073696144 0.91218823 -0.40308988 0.35129 0.09048066
|
||||
2.625175 1.7991003 -0.6557297 0.48116767 0.69189876 -0.5382877 0.27406374 0.088201545
|
||||
0.67027444 0.5334 -1.9347303 -0.38885155 -0.2292497 -0.8923223 0.40481266 0.033736143
|
||||
1.2843744 3.0958004 -0.5304299 -0.08802483 0.3184032 -0.94385976 0.3024185 0.17043002
|
||||
0.77727437 1.2146001 3.4750705 -0.16566989 -0.31949857 0.9329921 0.080950305 0.101946086
|
||||
3.4174747 1.7396003 -0.85813 0.4088575 0.88988423 -0.20234066 0.26399732 0.060749806
|
||||
2.3443742 1.5199003 -1.5742303 0.23401263 0.7841241 -0.5747935 0.3123137 0.06264582
|
||||
0.06327439 8.8725 -0.28472978 0.9031805 0.21487509 -0.37160963 0.08229262 0.8732247
|
||||
-1.8893259 8.729101 -1.7110304 -0.30028316 0.6138469 -0.7300836 0.78262734 0.48695683
|
||||
-0.62042546 7.995201 1.7714701 0.47639555 0.22756127 0.8492721 0.054573745 0.28939876
|
||||
-1.219426 6.696401 2.0643702 -0.13893181 0.08481444 0.98666334 0.4784059 0.67288846
|
||||
-0.619426 6.356501 1.9183702 0.3541473 0.25355586 0.9001605 0.52534187 0.6902852
|
||||
-2.161226 7.667401 -2.4847305 -0.6594078 -0.34964943 -0.6655273 0.843693 0.54919225
|
||||
-0.91182566 7.3815007 -1.4608301 0.375913 -0.73612595 -0.56285685 0.967211 0.5381632
|
||||
-1.9789258 7.178801 -1.18583 -0.29064578 -0.724498 -0.62500215 0.8863765 0.6507956
|
||||
3.1734743 1.5024002 0.15137026 0.7611686 0.58185023 -0.28648314 0.23814057 0.07682296
|
||||
-0.7888257 10.067701 -0.3484299 -0.04397583 0.70420456 -0.7086339 0.52430856 0.78790325
|
||||
0.14267427 10.748201 0.011170197 0.73606163 0.6634644 -0.13426952 0.5076637 0.9781552
|
||||
-0.30342564 9.674201 -0.23032992 0.6848186 0.23503296 -0.68977004 0.42495766 0.8044593
|
||||
-1.0288259 10.067701 0.053869635 -0.38528097 0.9081675 0.1636775 0.88358545 0.94791806
|
||||
0.09657441 8.901701 0.59447026 0.90783143 0.11600388 0.40297043 0.39027283 0.865766
|
||||
3.387675 3.7165008 1.58967 0.9180944 0.3928391 0.052727237 0.18311635 0.13782379
|
||||
-0.30342564 9.674201 -0.23032992 0.6848186 0.23503296 -0.68977004 0.15227878 0.86758876
|
||||
-2.2445261 4.9454007 -0.66073006 -0.75246775 0.008946161 -0.6585683 0.37036988 0.41615537
|
||||
3.6162753 2.8629005 0.8747697 0.93610126 0.23180684 -0.26453748 0.20584682 0.11498356
|
||||
-0.7888257 10.067701 -0.3484299 -0.04397583 0.70420456 -0.7086339 0.935007 0.9301176
|
||||
-0.7888257 10.067701 -0.3484299 -0.04397583 0.70420456 -0.7086339 0.19761893 0.83779246
|
||||
4.364375 1.0550001 0.5702698 0.92324126 0.38289523 0.03188642 0.20950294 0.045586396
|
||||
-0.61192554 1.0255002 2.04657 -0.8208653 0.15153797 0.55065095 0.0322884 0.11481223
|
||||
-1.0520257 0.52869993 2.4247699 -0.6847748 0.31241915 0.6583902 0.02451134 0.09802288
|
||||
-0.0897255 0.5721001 2.6455705 -0.44955286 -0.170653 0.87680095 0.048454616 0.09665558
|
||||
-2.517626 0.78980017 0.25796968 -0.69434595 0.69967836 -0.16832665 0.6460075 0.21836895
|
||||
-1.337726 0.8835 0.28996965 -0.64949834 0.59640735 -0.47164628 0.5963892 0.2274105
|
||||
-1.4268259 0.95919997 -0.43353048 -0.72120667 0.6666094 -0.18839571 0.5771463 0.1884031
|
||||
-0.44272542 1.0345002 -0.70443004 -0.44213012 -0.017088598 -0.8967881 0.5055221 0.114784405
|
||||
-1.0315259 1.0731 -0.7273301 -0.16689667 0.37004504 -0.9138995 0.5447714 0.15467297
|
||||
-1.0638257 2.0252004 -0.7415303 -0.32365012 -0.16409263 -0.93183917 0.48357084 0.21026236
|
||||
-3.471126 10.565201 0.1122696 -0.81858766 0.5451293 -0.18096499 0.75558704 0.9432239
|
||||
-3.4521263 9.519001 0.46967015 -0.992983 0.08945896 0.07734239 0.8020744 0.9034289
|
||||
-2.878626 9.963901 0.81987005 -0.21252948 0.5347677 0.81783545 0.7897775 0.96688294
|
||||
-2.741226 7.508901 1.3471704 -0.7021046 -0.14130145 0.6979133 0.36300594 0.6462114
|
||||
-3.4521263 9.519001 0.46967015 -0.992983 0.08945896 0.07734239 0.27383736 0.69182056
|
||||
-3.433826 9.038601 0.28866962 -0.9546164 0.028929858 -0.2964296 0.27248618 0.6792056
|
||||
-2.882526 9.084501 -0.10313035 -0.7311533 0.36524838 -0.5762018 0.2478923 0.6867268
|
||||
-3.3896263 8.113201 -0.3605301 -0.9617006 -0.03754102 -0.27151904 0.25436208 0.6271816
|
||||
-3.3058262 8.5403 0.07176972 -0.9879483 0.08645398 -0.1283894 0.26854706 0.6570603
|
||||
-2.7694259 7.7350006 -1.0115304 -0.78725094 -0.2752617 -0.5517852 0.2133645 0.5806204
|
||||
-2.230626 0.22640002 -0.41983035 -0.74839973 -0.49738073 -0.4387599 0.637635 0.17406993
|
||||
-1.868326 0.75070006 -0.9546304 -0.6237263 0.711984 -0.32255915 0.60493344 0.1558058
|
||||
3.880675 1.3958001 1.1265702 0.9198568 0.38913035 -0.049406413 0.19796096 0.06852602
|
||||
-2.327826 8.2278 1.5766702 -0.44723478 0.13983466 0.883418 0.35857934 0.69122976
|
||||
-2.5213258 6.882601 1.3467698 -0.6689012 -0.23592637 0.7049185 0.3951752 0.6194137
|
||||
-1.4618257 2.4264002 -0.6133301 -0.8903412 -0.15419926 -0.42838684 0.48257515 0.25476277
|
||||
-1.2621258 1.7734003 0.17966996 -0.92482555 0.016368585 -0.3800392 0.5577472 0.2591085
|
||||
-1.4422258 3.0290003 0.4318703 -0.8165544 -0.1464694 -0.55837774 0.5101766 0.3366432
|
||||
-1.9845258 3.6388009 0.69077003 -0.87178856 -0.35990623 -0.3323434 0.50301826 0.39985734
|
||||
-1.890426 1.0817002 0.44496998 -0.517776 0.4540006 -0.7251148 0.6224612 0.2508355
|
||||
-2.0575259 0.9955001 0.9599702 -0.8433312 0.09983585 0.52803904 0.65923995 0.27131322
|
||||
-2.964326 9.822501 -0.10223008 -0.47634494 -0.05045076 -0.87780994 0.7339221 0.92058545
|
||||
-2.882526 9.084501 -0.10313035 -0.7311533 0.36524838 -0.5762018 0.667627 0.84930974
|
||||
-3.092126 9.502201 0.2502701 -0.6984636 -0.017294424 -0.71543664 0.75460386 0.8875665
|
||||
-0.087125406 3.1274004 2.8989704 -0.64312565 0.17802551 0.7447794 0.07549074 0.15373975
|
||||
-0.8196259 2.3198001 1.7973703 -0.66986597 -0.026210472 0.7420193 0.036297202 0.14856292
|
||||
-0.8748258 2.0967002 2.7634706 -0.90760005 0.06683492 0.41448176 0.053295545 0.13493255
|
||||
0.02887421 0.7540002 -1.4195303 -0.71550065 -0.2610496 -0.6480061 0.45089763 0.06624607
|
||||
-1.665426 1.8197002 1.62437 -0.48163462 -0.16273934 0.86112946 0.65852106 0.35673973
|
||||
-2.1923258 3.5194008 1.3925699 -0.9447443 -0.18422589 0.271144 0.5478699 0.43424743
|
||||
-1.186226 0.55610013 1.5514703 -0.84864473 -0.16340141 0.5030924 0.734133 0.3012958
|
||||
-0.8196259 2.3198001 1.7973703 -0.66986597 -0.026210472 0.7420193 0.69251174 0.422131
|
||||
-0.029425815 2.1513002 3.4381702 -0.44133595 0.045067813 0.8962095 0.07396352 0.1281145
|
||||
-2.5888262 6.208601 0.9756699 -0.84305483 -0.09319865 0.52969086 0.4061021 0.5678618
|
||||
-3.112326 7.3445005 0.3178696 -0.96471584 -0.253683 0.070486 0.31435022 0.5997315
|
||||
-2.667426 4.758001 0.018969728 -0.90281165 -0.30579108 -0.30236223 0.4114268 0.44731957
|
||||
-2.7694259 7.7350006 -1.0115304 -0.78725094 -0.2752617 -0.5517852 0.75763285 0.6744133
|
||||
-2.392026 8.487902 -1.3364304 -0.747842 0.21194589 -0.6291353 0.734765 0.56230044
|
||||
-0.8792256 4.817401 2.3403704 -0.38904643 0.09032617 0.9167791 0.5902533 0.5873184
|
||||
-2.6100261 4.707801 1.3596704 -0.8832008 -0.12243323 0.45273212 0.48538992 0.4962032
|
||||
-0.8792256 4.817401 2.3403704 -0.38904643 0.09032617 0.9167791 0.07417127 0.20548928
|
||||
-2.392026 8.487902 -1.3364304 -0.747842 0.21194589 -0.6291353 0.16459617 0.6398786
|
||||
-1.8001261 4.085301 1.9035699 -0.4839415 -0.097555116 0.86964566 0.5627961 0.49731115
|
||||
-1.186226 0.55610013 1.5514703 -0.84864473 -0.16340141 0.5030924 0.010203981 0.1122183
|
||||
-1.569626 0.3742001 -1.4788301 -0.05462312 0.1690641 -0.9840902 0.61384606 0.11812159
|
||||
-1.9930261 9.862201 -0.003130341 0.075866185 0.9794647 -0.18679745 0.7293909 0.98951745
|
||||
-3.0411263 10.770401 0.043869786 0.02688641 0.9635681 -0.26610863 0.753717 0.961225
|
||||
-3.433826 9.038601 0.28866962 -0.9546164 0.028929858 -0.2964296 0.8020744 0.78846765
|
||||
4.2867746 0.52519995 0.41017002 0.94705594 -0.2590572 -0.18966934 0.20760685 0.029241929
|
||||
-2.878626 9.963901 0.81987005 -0.21252948 0.5347677 0.81783545 0.27992412 0.7168905
|
||||
-1.9710261 3.9114006 0.01537018 -0.6675564 -0.59708816 -0.444808 0.45012152 0.3856737
|
||||
-1.9930261 9.862201 -0.003130341 0.075866185 0.9794647 -0.18679745 0.2468168 0.7547342
|
||||
-2.2901258 9.714901 -0.21963045 -0.23479536 0.67432845 -0.7001088 0.23586477 0.728986
|
||||
-2.2901258 9.714901 -0.21963045 -0.23479536 0.67432845 -0.7001088 0.52842814 0.74081594
|
||||
-2.964326 9.822501 -0.10223008 -0.47634494 -0.05045076 -0.87780994 0.58254737 0.8386313
|
||||
-3.471126 10.565201 0.1122696 -0.81858766 0.5451293 -0.18096499 0.5380133 0.9808106
|
||||
-2.2901258 9.714901 -0.21963045 -0.23479536 0.67432845 -0.7001088 0.69757915 0.9635888
|
||||
-3.3058262 8.5403 0.07176972 -0.9879483 0.08645398 -0.1283894 0.70988774 0.65773886
|
||||
-2.882526 9.084501 -0.10313035 -0.7311533 0.36524838 -0.5762018 0.6677008 0.75300074
|
||||
-0.7709256 5.724101 2.2065706 0.07019434 0.24138543 0.9678872 0.5507923 0.6433447
|
||||
0.58418125 0.22400019 -1.7113466 -0.40643814 -0.8098558 -0.42301488 0.9718312 0.020504208
|
||||
0.7487328 0.22400019 -1.869269 -0.19065972 -0.720445 -0.66678923 0.97220457 0.021100836
|
||||
1.2752382 0.22400019 -1.8116388 0.075374685 -0.7676886 -0.6363747 0.9716987 0.022655101
|
||||
-1.4210848 0.22400019 -1.3924581 0.41129172 -0.60820895 -0.6789117 0.9721315 0.014245303
|
||||
-1.2286401 0.22400019 -1.2118917 0.3633369 -0.6630077 -0.65452826 0.9714647 0.014712902
|
||||
-1.7548681 0.22400019 -1.3470285 -0.52704555 -0.58184344 -0.6194199 0.97220457 0.013208317
|
||||
-2.2161448 0.22400019 -0.43305972 -0.017521787 -0.99930537 0.032890607 0.96973413 0.01123883
|
||||
-0.5065232 0.22400019 -0.5854172 -0.021521537 -0.94214505 -0.3345139 0.96911705 0.01649964
|
||||
3.6921923 0.22400019 -0.5356896 0.6121442 -0.6924734 -0.38178536 0.96632093 0.029152708
|
||||
-1.9521799 0.22400019 -1.126045 -0.70010203 -0.5537167 -0.45083794 0.9716613 0.012472974
|
||||
-2.2274122 0.22400019 -0.4297089 -0.7312984 -0.6671969 -0.14160144 0.80359983 1.0238159
|
||||
-1.9521799 0.22400019 -1.126045 -0.70010203 -0.5537167 -0.45083794 0.80359983 0.95338476
|
||||
-2.2161448 0.22400019 -0.43305972 -0.017521787 -0.99930537 0.032890607 0.8044696 1.023133
|
||||
2.2313638 0.22400019 2.680494 0.3288468 -0.8804425 0.34158558 0.95752156 0.022717984
|
||||
-0.6810555 0.22400019 2.4642336 -0.1467376 -0.75445783 0.63973546 0.96000504 0.01405433
|
||||
2.4538667 0.22400019 2.5940027 0.24385142 -0.7973807 0.55201495 0.95764303 0.02344461
|
||||
0.41850665 0.22400019 2.7519977 -0.23899291 -0.84482497 0.4786994 0.95844465 0.017195703
|
||||
-2.6425998 0.22400019 0.70022744 -0.80877304 -0.50211614 0.3062115 0.9665674 0.0092362035
|
||||
-2.7626433 0.22400019 0.07626649 -0.847515 -0.42922866 -0.3122198 0.96852803 0.009265589
|
||||
4.1131854 0.22400019 0.46040884 0.5623081 -0.8260273 -0.03858204 0.9630468 0.029798763
|
||||
1.955617 0.22400019 2.7750673 0.04242061 -0.8742375 0.4836417 0.9574091 0.02182542
|
||||
2.1960154 0.22400019 2.7574801 0.407 -0.7800877 0.47519907 0.95731115 0.022562819
|
||||
0.7445824 0.22400019 2.9373279 -0.12836032 -0.80886763 0.57380897 0.9576798 0.018064456
|
||||
2.7569857 0.22400019 -1.5163606 0.16910498 -0.7943238 -0.5834837 0.9698729 0.026945414
|
||||
2.100773 0.22400019 -1.6653436 0.12811182 -0.79456544 -0.59350926 0.9707365 0.02505687
|
||||
3.4797022 0.22400019 -1.0087174 0.40930107 -0.86440027 -0.29203552 0.9678838 0.028808849
|
||||
3.5642383 0.22400019 -0.8515244 0.48217154 -0.858188 -0.17613666 0.96735567 0.028965177
|
||||
-0.37594378 0.22400019 -0.7854573 -0.57233065 -0.7097642 -0.41069746 0.9696391 0.017020183
|
||||
-1.1313287 0.22400019 -1.2045778 0.22967121 -0.49633533 -0.83719915 0.9713813 0.015002267
|
||||
-1.2935071 0.22400019 1.0919343 -0.27430204 -0.8970687 0.34644783 0.96453613 0.013066204
|
||||
-2.5766528 0.22400019 0.8374413 -0.62714297 -0.48046845 0.6130593 0.96611136 0.009349244
|
||||
4.0127363 0.22400019 0.9127198 0.5038301 -0.8556301 0.1185428 0.9617433 0.029211031
|
||||
3.5815594 0.22400019 -0.7074967 0.42636088 -0.8999785 -0.09085657 0.96690965 0.028926747
|
||||
3.4810352 0.22400019 1.8996607 0.39348367 -0.810439 0.4340037 0.9590955 0.02698438
|
||||
-1.11559 0.22400019 1.3025575 -0.38334632 -0.9040218 0.18918258 0.963788 0.013471412
|
||||
3.8143253 0.22400019 1.5762239 0.4810456 -0.8009131 0.35655776 0.95986325 0.028194623
|
||||
-1.0991356 0.22400019 2.0397234 -0.68955994 -0.7188539 0.0880689 0.96155035 0.013057904
|
||||
-2.209373 0.22400019 -0.42154086 -0.0558253 -0.9859457 0.15746342 0.9696951 0.011252033
|
||||
-2.1618967 0.22400019 -0.40970844 -0.0028608302 -0.9999959 -0.000106975036 0.9696294 0.011387991
|
||||
-2.1749234 0.22400019 -0.40605244 -0.011426341 -0.9991058 -0.04070532 0.96961904 0.011344941
|
||||
-2.1937947 0.22400019 -0.40073627 -0.011439374 -0.9991109 -0.04057865 0.9696118 0.01128404
|
||||
-2.2783449 0.22400019 -0.37692034 -0.58131546 -0.51583326 -0.6292762 0.969593 0.011013629
|
||||
-1.0468484 0.22400019 2.382645 -0.58025545 -0.63782334 0.5064435 0.9604814 0.013000401
|
||||
3.4810352 0.22400019 1.8996607 0.39348367 -0.810439 0.4340037 0.15420465 0.04102335
|
||||
3.8143253 0.22400019 1.5762239 0.4810456 -0.8009131 0.35655776 0.16792865 0.037144165
|
||||
2.2313638 0.22400019 2.680494 0.3288468 -0.8804425 0.34158558 0.110636964 0.05624038
|
||||
2.4538667 0.22400019 2.5940027 0.24385142 -0.7973807 0.55201495 0.117879316 0.05280347
|
||||
2.1960154 0.22400019 2.7574801 0.407 -0.7800877 0.47519907 0.1069449 0.059347447
|
||||
1.2752382 0.22400019 -1.8116388 0.075374685 -0.7676886 -0.6363747 0.37604672 0.008110086
|
||||
0.7487328 0.22400019 -1.869269 -0.19065972 -0.720445 -0.66678923 0.4070614 0.013023422
|
||||
3.5642383 0.22400019 -0.8515244 0.48217154 -0.858188 -0.17613666 0.25538462 0.0031148791
|
||||
3.4797022 0.22400019 -1.0087174 0.40930107 -0.86440027 -0.29203552 0.2648711 8.450675e-09
|
||||
4.1131854 0.22400019 0.46040884 0.5623081 -0.8260273 -0.03858204 0.20259783 0.019268692
|
||||
3.6921923 0.22400019 -0.5356896 0.6121442 -0.6924734 -0.38178536 0.23897217 0.0057812533
|
||||
2.7569857 0.22400019 -1.5163606 0.16910498 -0.7943238 -0.5834837 0.3031835 0.0016587148
|
||||
2.100773 0.22400019 -1.6653436 0.12811182 -0.79456544 -0.59350926 0.3331248 0.0026185757
|
||||
1.955617 0.22400019 2.7750673 0.04242061 -0.8742375 0.4836417 0.09809749 0.06282124
|
||||
0.7445824 0.22400019 2.9373279 -0.12836032 -0.80886763 0.57380897 0.068156235 0.07761529
|
||||
-0.37594378 0.22400019 -0.7854573 -0.57233065 -0.7097642 -0.41069746 0.52157223 0.044851843
|
||||
-0.5065232 0.22400019 -0.5854172 -0.021521537 -0.94214505 -0.3345139 0.5435285 0.046751596
|
||||
-2.2783449 0.22400019 -0.37692034 -0.58131546 -0.51583326 -0.6292762 0.63853747 0.17621852
|
||||
-2.7626433 0.22400019 0.07626649 -0.847515 -0.42922866 -0.3122198 0.66334546 0.19258852
|
||||
-1.7548681 0.22400019 -1.3470285 -0.52704555 -0.58184344 -0.6194199 0.62489164 0.1247898
|
||||
-1.9521799 0.22400019 -1.126045 -0.70010203 -0.5537167 -0.45083794 0.6287393 0.14086775
|
||||
-2.6425998 0.22400019 0.70022744 -0.80877304 -0.50211614 0.3062115 0.68118423 0.21481499
|
||||
-1.11559 0.22400019 1.3025575 -0.38334632 -0.9040218 0.18918258 -3.3102134e-09 0.10996528
|
||||
-1.0991356 0.22400019 2.0397234 -0.68955994 -0.7188539 0.0880689 0.013690739 0.09781893
|
||||
0.58418125 0.22400019 -1.7113466 -0.40643814 -0.8098558 -0.42301488 0.42186216 0.014245739
|
||||
-1.1313287 0.22400019 -1.2045778 0.22967121 -0.49633533 -0.83719915 0.6017828 0.094806425
|
||||
-0.6810555 0.22400019 2.4642336 -0.1467376 -0.75445783 0.63973546 0.030619193 0.091465615
|
||||
0.41850665 0.22400019 2.7519977 -0.23899291 -0.84482497 0.4786994 0.057839744 0.08235605
|
||||
-1.2286401 0.22400019 -1.2118917 0.3633369 -0.6630077 -0.65452826 0.59865737 0.10087764
|
||||
-2.5766528 0.22400019 0.8374413 -0.62714297 -0.48046845 0.6130593 0.67908764 0.21657859
|
||||
-1.2935071 0.22400019 1.0919343 -0.27430204 -0.8970687 0.34644783 0.7325371 0.2680749
|
||||
-1.4210848 0.22400019 -1.3924581 0.41129172 -0.60820895 -0.6789117 0.614245 0.10814548
|
||||
-1.9521799 0.22400019 -1.126045 -0.70010203 -0.5537167 -0.45083794 0.43263742 0.92657316
|
||||
-2.2274122 0.22400019 -0.4297089 -0.7312984 -0.6671969 -0.14160144 0.43597075 0.8869815
|
||||
-2.230626 0.22640002 -0.41983035 -0.74839973 -0.49738073 -0.4387599 0.43614823 0.88644433
|
||||
4.0127363 0.22400019 0.9127198 0.5038301 -0.8556301 0.1185428 0.18772343 0.02667462
|
||||
3.5815594 0.22400019 -0.7074967 0.42636088 -0.8999785 -0.09085657 0.24657853 0.0037103465
|
||||
-1.0468484 0.22400019 2.382645 -0.58025545 -0.63782334 0.5064435 0.021488441 0.09233946
|
||||
-1.11559 0.22400019 1.3025575 -0.38334632 -0.9040218 0.18918258 0.7439689 0.2791134
|
||||
-2.2274122 0.22400019 -0.4297089 -0.7312984 -0.6671969 -0.14160144 0.67494655 0.99038863
|
||||
-2.2161448 0.22400019 -0.43305972 -0.017521787 -0.99930537 0.032890607 0.67444944 0.9913764
|
||||
-2.230626 0.22640002 -0.41983035 -0.74839973 -0.49738073 -0.4387599 0.67444944 0.98951757
|
||||
-2.1618967 0.22400019 -0.40970844 -0.0028608302 -0.9999959 -0.000106975036 0.80714715 0.95338464
|
||||
-2.1749234 0.22400019 -0.40605244 -0.011426341 -0.9991058 -0.04070532 0.8076674 0.95454615
|
||||
-2.230626 0.22640002 -0.41983035 -0.74839973 -0.49738073 -0.4387599 0.80714715 0.9599234
|
||||
-2.2161448 0.22400019 -0.43305972 -0.017521787 -0.99930537 0.032890607 0.67331666 0.9900621
|
||||
-2.209373 0.22400019 -0.42154086 -0.0558253 -0.9859457 0.15746342 0.6744493 0.98951745
|
||||
-2.230626 0.22640002 -0.41983035 -0.74839973 -0.49738073 -0.4387599 0.67444944 0.99153584
|
||||
-2.209373 0.22400019 -0.42154086 -0.0558253 -0.9859457 0.15746342 0.80814487 0.9553456
|
||||
-2.1618967 0.22400019 -0.40970844 -0.0028608302 -0.9999959 -0.000106975036 0.8076674 0.95992327
|
||||
-2.230626 0.22640002 -0.41983035 -0.74839973 -0.49738073 -0.4387599 0.8076674 0.9533845
|
||||
-2.1937947 0.22400019 -0.40073627 -0.011439374 -0.9991109 -0.04057865 0.8044694 0.9616473
|
||||
-2.2783449 0.22400019 -0.37692034 -0.58131546 -0.51583326 -0.6292762 0.8044694 0.95338464
|
||||
-2.230626 0.22640002 -0.41983035 -0.74839973 -0.49738073 -0.4387599 0.807147 0.9587995
|
||||
-2.1749234 0.22400019 -0.40605244 -0.011426341 -0.9991058 -0.04070532 0.67240256 0.98951757
|
||||
-2.1937947 0.22400019 -0.40073627 -0.011439374 -0.9991109 -0.04057865 0.6733167 0.9911193
|
||||
-2.230626 0.22640002 -0.41983035 -0.74839973 -0.49738073 -0.4387599 0.67240256 0.9949199
|
||||
3 0 1 2
|
||||
3 0 3 4
|
||||
3 2 3 0
|
||||
3 5 3 2
|
||||
3 6 7 8
|
||||
3 8 7 9
|
||||
3 10 11 12
|
||||
3 13 14 15
|
||||
3 16 17 18
|
||||
3 19 20 21
|
||||
3 22 1 23
|
||||
3 24 25 26
|
||||
3 27 28 29
|
||||
3 30 31 27
|
||||
3 32 18 17
|
||||
3 33 34 35
|
||||
3 36 37 38
|
||||
3 39 40 13
|
||||
3 41 42 43
|
||||
3 44 45 46
|
||||
3 47 15 14
|
||||
3 48 18 32
|
||||
3 49 26 50
|
||||
3 33 35 51
|
||||
3 52 53 54
|
||||
3 54 47 14
|
||||
3 55 48 56
|
||||
3 11 10 57
|
||||
3 13 58 59
|
||||
3 40 14 13
|
||||
3 53 47 54
|
||||
3 60 61 62
|
||||
3 44 63 64
|
||||
3 6 60 65
|
||||
3 65 7 6
|
||||
3 66 67 54
|
||||
3 60 68 61
|
||||
3 38 37 69
|
||||
3 26 49 70
|
||||
3 67 10 12
|
||||
3 55 71 48
|
||||
3 72 22 23
|
||||
3 9 68 8
|
||||
3 68 60 6
|
||||
3 73 17 74
|
||||
3 75 10 67
|
||||
3 76 26 77
|
||||
3 1 26 76
|
||||
3 78 47 79
|
||||
3 0 80 81
|
||||
3 82 50 83
|
||||
3 84 85 86
|
||||
3 39 13 59
|
||||
3 87 27 29
|
||||
3 87 20 88
|
||||
3 29 21 87
|
||||
3 20 89 88
|
||||
3 90 17 16
|
||||
3 29 72 91
|
||||
3 40 84 86
|
||||
3 58 92 59
|
||||
3 21 11 19
|
||||
3 73 87 88
|
||||
3 27 31 2
|
||||
3 31 5 2
|
||||
3 52 49 53
|
||||
3 61 68 9
|
||||
3 93 48 94
|
||||
3 88 93 94
|
||||
3 51 35 95
|
||||
3 37 96 69
|
||||
3 33 51 41
|
||||
3 77 52 54
|
||||
3 67 12 77
|
||||
3 26 1 0
|
||||
3 76 77 12
|
||||
3 97 49 82
|
||||
3 46 98 99
|
||||
3 79 53 97
|
||||
3 23 76 72
|
||||
3 25 50 26
|
||||
3 0 24 26
|
||||
3 100 37 36
|
||||
3 52 70 49
|
||||
3 36 101 102
|
||||
3 64 45 44
|
||||
3 86 66 40
|
||||
3 11 21 91
|
||||
3 12 72 76
|
||||
3 82 49 50
|
||||
3 72 11 91
|
||||
3 75 103 89
|
||||
3 19 89 20
|
||||
3 32 88 94
|
||||
3 87 21 20
|
||||
3 79 47 53
|
||||
3 2 1 22
|
||||
3 22 72 29
|
||||
3 22 29 28
|
||||
3 27 2 28
|
||||
3 51 95 42
|
||||
3 50 25 83
|
||||
3 26 70 77
|
||||
3 0 81 24
|
||||
3 91 21 29
|
||||
3 23 1 76
|
||||
3 53 49 97
|
||||
3 77 54 67
|
||||
3 104 105 106
|
||||
3 52 77 70
|
||||
3 101 36 38
|
||||
3 4 80 0
|
||||
3 66 54 14
|
||||
3 62 107 60
|
||||
3 44 46 108
|
||||
3 41 51 42
|
||||
3 86 109 66
|
||||
3 57 10 75
|
||||
3 71 16 18
|
||||
3 55 16 71
|
||||
3 35 110 95
|
||||
3 32 17 73
|
||||
3 111 3 5
|
||||
3 40 39 84
|
||||
3 112 75 67
|
||||
3 72 12 11
|
||||
3 75 89 19
|
||||
3 75 19 57
|
||||
3 88 89 93
|
||||
3 74 27 73
|
||||
3 94 48 32
|
||||
3 19 11 57
|
||||
3 71 18 48
|
||||
3 40 66 14
|
||||
3 73 88 32
|
||||
3 113 62 61
|
||||
3 22 28 2
|
||||
3 35 114 110
|
||||
3 73 27 87
|
||||
3 115 93 89
|
||||
3 115 89 103
|
||||
3 116 117 118
|
||||
3 119 120 121
|
||||
3 122 30 74
|
||||
3 123 124 122
|
||||
3 125 126 127
|
||||
3 128 129 130
|
||||
3 131 132 133
|
||||
3 4 132 134
|
||||
3 135 121 136
|
||||
3 137 112 86
|
||||
3 138 128 139
|
||||
3 140 141 142
|
||||
3 143 144 145
|
||||
3 146 147 148
|
||||
3 122 124 30
|
||||
3 123 136 121
|
||||
3 56 48 93
|
||||
3 58 13 15
|
||||
3 121 141 140
|
||||
3 123 121 124
|
||||
3 30 27 74
|
||||
3 149 150 151
|
||||
3 152 122 74
|
||||
3 145 153 154
|
||||
3 120 141 121
|
||||
3 100 36 102
|
||||
3 155 156 153
|
||||
3 157 151 118
|
||||
3 152 74 17
|
||||
3 121 135 119
|
||||
3 144 119 145
|
||||
3 119 144 120
|
||||
3 158 159 160
|
||||
3 4 159 132
|
||||
3 100 161 162
|
||||
3 163 98 164
|
||||
3 138 98 45
|
||||
3 15 165 149
|
||||
3 166 34 33
|
||||
3 154 153 167
|
||||
3 153 145 155
|
||||
3 93 115 56
|
||||
3 154 167 164
|
||||
3 116 168 117
|
||||
3 150 168 116
|
||||
3 92 157 118
|
||||
3 136 123 169
|
||||
3 109 112 67
|
||||
3 3 111 160
|
||||
3 170 171 127
|
||||
3 132 131 34
|
||||
3 165 150 149
|
||||
3 148 147 172
|
||||
3 115 85 173
|
||||
3 158 139 159
|
||||
3 159 4 160
|
||||
3 149 151 157
|
||||
3 126 125 148
|
||||
3 45 174 129
|
||||
3 128 133 159
|
||||
3 156 163 167
|
||||
3 92 58 157
|
||||
3 175 5 142
|
||||
3 140 31 124
|
||||
3 144 141 120
|
||||
3 86 85 137
|
||||
3 8 68 6
|
||||
3 45 98 46
|
||||
3 34 176 35
|
||||
3 64 176 174
|
||||
3 176 34 177
|
||||
3 64 174 45
|
||||
3 64 63 176
|
||||
3 132 34 166
|
||||
3 162 96 100
|
||||
3 58 149 157
|
||||
3 125 127 171
|
||||
3 178 179 180
|
||||
3 181 125 171
|
||||
3 147 182 172
|
||||
3 126 148 172
|
||||
3 129 128 138
|
||||
3 130 133 128
|
||||
3 179 178 183
|
||||
3 177 34 131
|
||||
3 132 166 134
|
||||
3 159 139 128
|
||||
3 159 133 132
|
||||
3 160 111 175
|
||||
3 154 143 145
|
||||
3 137 85 115
|
||||
3 138 45 129
|
||||
3 35 176 114
|
||||
3 100 102 161
|
||||
3 100 96 37
|
||||
3 139 98 138
|
||||
3 164 98 158
|
||||
3 99 98 184
|
||||
3 98 163 184
|
||||
3 165 47 78
|
||||
3 160 4 3
|
||||
3 17 90 152
|
||||
3 167 153 156
|
||||
3 75 112 103
|
||||
3 142 144 143
|
||||
3 113 107 62
|
||||
3 151 150 116
|
||||
3 124 31 30
|
||||
3 142 5 140
|
||||
3 5 31 140
|
||||
3 125 146 148
|
||||
3 176 63 114
|
||||
3 139 158 98
|
||||
3 5 175 111
|
||||
3 164 158 160
|
||||
3 143 164 160
|
||||
3 15 149 58
|
||||
3 118 151 116
|
||||
3 112 137 103
|
||||
3 163 164 167
|
||||
3 175 142 143
|
||||
3 164 143 154
|
||||
3 175 143 160
|
||||
3 142 141 144
|
||||
3 121 140 124
|
||||
3 103 137 115
|
||||
3 80 4 134
|
||||
3 67 66 109
|
||||
3 109 86 112
|
||||
3 47 165 15
|
||||
3 181 171 170
|
||||
3 185 186 187
|
||||
3 188 189 190
|
||||
3 191 192 193
|
||||
3 191 194 192
|
||||
3 195 196 197
|
||||
3 198 199 200
|
||||
3 201 199 198
|
||||
3 202 203 204
|
||||
3 205 201 206
|
||||
3 207 201 205
|
||||
3 208 185 209
|
||||
3 210 185 208
|
||||
3 211 185 210
|
||||
3 212 185 211
|
||||
3 194 189 213
|
||||
3 194 190 189
|
||||
3 214 215 216
|
||||
3 192 212 217
|
||||
3 218 219 220
|
||||
3 221 219 218
|
||||
3 213 192 194
|
||||
3 198 206 201
|
||||
3 187 209 185
|
||||
3 217 193 192
|
||||
3 193 222 191
|
||||
3 193 223 222
|
||||
3 193 224 223
|
||||
3 193 225 224
|
||||
3 193 226 225
|
||||
3 193 203 226
|
||||
3 193 204 203
|
||||
3 218 227 221
|
||||
3 218 199 227
|
||||
3 218 200 199
|
||||
3 204 215 202
|
||||
3 204 216 215
|
||||
3 216 219 214
|
||||
3 216 220 219
|
||||
3 211 217 212
|
||||
3 228 229 85
|
||||
3 228 85 84
|
||||
3 230 231 84
|
||||
3 230 84 39
|
||||
3 232 230 39
|
||||
3 232 39 59
|
||||
3 233 234 90
|
||||
3 233 90 16
|
||||
3 235 236 55
|
||||
3 235 55 56
|
||||
3 237 238 173
|
||||
3 239 240 16
|
||||
3 239 16 55
|
||||
3 241 232 59
|
||||
3 241 59 92
|
||||
3 242 241 92
|
||||
3 231 228 84
|
||||
3 240 233 16
|
||||
3 243 244 122
|
||||
3 243 122 152
|
||||
3 245 246 119
|
||||
3 245 119 135
|
||||
3 247 248 136
|
||||
3 247 136 169
|
||||
3 246 249 119
|
||||
3 250 251 168
|
||||
3 234 252 152
|
||||
3 234 152 90
|
||||
3 244 253 122
|
||||
3 254 255 118
|
||||
3 253 256 123
|
||||
3 253 123 122
|
||||
3 257 258 145
|
||||
3 256 259 169
|
||||
3 256 169 123
|
||||
3 260 261 262
|
||||
3 248 135 136
|
||||
3 263 237 173
|
||||
3 263 173 85
|
||||
3 238 264 115
|
||||
3 238 115 173
|
||||
3 265 254 118
|
||||
3 265 118 117
|
||||
3 264 235 56
|
||||
3 264 56 115
|
||||
3 255 242 92
|
||||
3 255 92 118
|
||||
3 258 266 155
|
||||
3 258 155 145
|
||||
3 252 243 152
|
||||
3 259 247 169
|
||||
3 249 257 145
|
||||
3 249 145 119
|
||||
3 251 265 117
|
||||
3 251 117 168
|
||||
3 267 268 269
|
||||
3 270 271 272
|
||||
3 273 274 275
|
||||
3 276 277 278
|
||||
3 236 239 55
|
||||
3 229 263 85
|
||||
3 279 280 281
|
||||
3 282 283 284
|
12
src/meshes/fox/fox.ts
Normal file
97
src/meshes/gizmo.ply
Normal file
|
@ -0,0 +1,97 @@
|
|||
ply
|
||||
format ascii 1.0
|
||||
comment Created in Blender version 3.6.4
|
||||
element vertex 42
|
||||
property float x
|
||||
property float y
|
||||
property float z
|
||||
property float nx
|
||||
property float ny
|
||||
property float nz
|
||||
property uchar red
|
||||
property uchar green
|
||||
property uchar blue
|
||||
property uchar alpha
|
||||
property float s
|
||||
property float t
|
||||
element face 36
|
||||
property list uchar uint vertex_indices
|
||||
end_header
|
||||
0 0.05 -0.05 -0.057735033 0.5773503 -0.5773503 0 254 0 255 0.625 0
|
||||
1 -0.05 -0.05 0.057735033 -0.5773503 -0.5773503 0 254 0 255 0.375 0.25
|
||||
0 -0.05 -0.05 -0.057735033 -0.5773503 -0.5773503 0 254 0 255 0.375 0
|
||||
1 0.05 -0.05 0.057735033 0.5773503 -0.5773503 0 254 0 255 0.625 0.25
|
||||
1 -0.05 0.05 0.057735033 -0.5773503 0.5773503 0 254 0 255 0.375 0.5
|
||||
1 0.05 0.05 0.057735033 0.5773503 0.5773503 0 254 0 255 0.625 0.5
|
||||
0 -0.05 0.05 -0.057735033 -0.5773503 0.5773503 0 254 0 255 0.375 0.75
|
||||
0 0.05 0.05 -0.057735033 0.5773503 0.5773503 0 254 0 255 0.625 0.75
|
||||
0 -0.05 -0.05 -0.057735033 -0.5773503 -0.5773503 0 254 0 255 0.375 1
|
||||
0 -0.05 -0.05 -0.057735033 -0.5773503 -0.5773503 0 254 0 255 0.125 0.75
|
||||
1 -0.05 -0.05 0.057735033 -0.5773503 -0.5773503 0 254 0 255 0.125 0.5
|
||||
1 0.05 -0.05 0.057735033 0.5773503 -0.5773503 0 254 0 255 0.875 0.5
|
||||
0 0.05 -0.05 -0.057735033 0.5773503 -0.5773503 0 254 0 255 0.625 1
|
||||
0 0.05 -0.05 -0.057735033 0.5773503 -0.5773503 0 254 0 255 0.875 0.75
|
||||
-0.05 0.05 0 -0.5773503 0.5773503 -0.057735033 254 0 0 255 0.625 0
|
||||
0.05 -0.05 0 0.5773503 -0.5773503 -0.057735033 254 0 0 255 0.375 0.25
|
||||
-0.05 -0.05 0 -0.5773503 -0.5773503 -0.057735033 254 0 0 255 0.375 0
|
||||
0.05 0.05 0 0.5773503 0.5773503 -0.057735033 254 0 0 255 0.625 0.25
|
||||
0.05 -0.05 1 0.5773503 -0.5773503 0.057735033 254 0 0 255 0.375 0.5
|
||||
0.05 0.05 1 0.5773503 0.5773503 0.057735033 254 0 0 255 0.625 0.5
|
||||
-0.05 -0.05 1 -0.5773503 -0.5773503 0.057735033 254 0 0 255 0.375 0.75
|
||||
-0.05 0.05 1 -0.5773503 0.5773503 0.057735033 254 0 0 255 0.625 0.75
|
||||
-0.05 -0.05 0 -0.5773503 -0.5773503 -0.057735033 254 0 0 255 0.375 1
|
||||
-0.05 -0.05 0 -0.5773503 -0.5773503 -0.057735033 254 0 0 255 0.125 0.75
|
||||
0.05 -0.05 0 0.5773503 -0.5773503 -0.057735033 254 0 0 255 0.125 0.5
|
||||
0.05 0.05 0 0.5773503 0.5773503 -0.057735033 254 0 0 255 0.875 0.5
|
||||
-0.05 0.05 0 -0.5773503 0.5773503 -0.057735033 254 0 0 255 0.625 1
|
||||
-0.05 0.05 0 -0.5773503 0.5773503 -0.057735033 254 0 0 255 0.875 0.75
|
||||
-0.05 1 -0.05 -0.5773503 0.057735033 -0.5773503 0 0 254 255 0.625 0
|
||||
0.05 0 -0.05 0.5773503 -0.057735033 -0.5773503 0 0 254 255 0.375 0.25
|
||||
-0.05 0 -0.05 -0.5773503 -0.057735033 -0.5773503 0 0 254 255 0.375 0
|
||||
0.05 1 -0.05 0.5773503 0.057735033 -0.5773503 0 0 254 255 0.625 0.25
|
||||
0.05 0 0.05 0.5773503 -0.057735033 0.5773503 0 0 254 255 0.375 0.5
|
||||
0.05 1 0.05 0.5773503 0.057735033 0.5773503 0 0 254 255 0.625 0.5
|
||||
-0.05 0 0.05 -0.5773503 -0.057735033 0.5773503 0 0 254 255 0.375 0.75
|
||||
-0.05 1 0.05 -0.5773503 0.057735033 0.5773503 0 0 254 255 0.625 0.75
|
||||
-0.05 0 -0.05 -0.5773503 -0.057735033 -0.5773503 0 0 254 255 0.375 1
|
||||
-0.05 0 -0.05 -0.5773503 -0.057735033 -0.5773503 0 0 254 255 0.125 0.75
|
||||
0.05 0 -0.05 0.5773503 -0.057735033 -0.5773503 0 0 254 255 0.125 0.5
|
||||
0.05 1 -0.05 0.5773503 0.057735033 -0.5773503 0 0 254 255 0.875 0.5
|
||||
-0.05 1 -0.05 -0.5773503 0.057735033 -0.5773503 0 0 254 255 0.625 1
|
||||
-0.05 1 -0.05 -0.5773503 0.057735033 -0.5773503 0 0 254 255 0.875 0.75
|
||||
3 0 1 2
|
||||
3 3 4 1
|
||||
3 5 6 4
|
||||
3 7 8 6
|
||||
3 4 9 10
|
||||
3 11 7 5
|
||||
3 0 3 1
|
||||
3 3 5 4
|
||||
3 5 7 6
|
||||
3 7 12 8
|
||||
3 4 6 9
|
||||
3 11 13 7
|
||||
3 14 15 16
|
||||
3 17 18 15
|
||||
3 19 20 18
|
||||
3 21 22 20
|
||||
3 18 23 24
|
||||
3 25 21 19
|
||||
3 14 17 15
|
||||
3 17 19 18
|
||||
3 19 21 20
|
||||
3 21 26 22
|
||||
3 18 20 23
|
||||
3 25 27 21
|
||||
3 28 29 30
|
||||
3 31 32 29
|
||||
3 33 34 32
|
||||
3 35 36 34
|
||||
3 32 37 38
|
||||
3 39 35 33
|
||||
3 28 31 29
|
||||
3 31 33 32
|
||||
3 33 35 34
|
||||
3 35 40 36
|
||||
3 32 34 37
|
||||
3 39 41 35
|
12
src/meshes/gizmo.ts
Normal file
|
@ -0,0 +1,12 @@
|
|||
import { Mesh } from "../renderer/mesh";
|
||||
|
||||
// prettier-ignore
|
||||
export default new Mesh({
|
||||
colors: new Uint8Array([0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,0,254,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,254,0,0,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255]),
|
||||
faces: new Uint8Array([0,1,2,3,4,1,5,6,4,7,8,6,4,9,10,11,7,5,0,3,1,3,5,4,5,7,6,7,12,8,4,6,9,11,13,7,14,15,16,17,18,15,19,20,18,21,22,20,18,23,24,25,21,19,14,17,15,17,19,18,19,21,20,21,26,22,18,20,23,25,27,21,28,29,30,31,32,29,33,34,32,35,36,34,32,37,38,39,35,33,28,31,29,31,33,32,33,35,34,35,40,36,32,34,37,39,41,35]),
|
||||
name: "src/meshes/gizmo.ply",
|
||||
normals: new Float32Array([-0.057735033,0.5773503,-0.5773503,0.057735033,-0.5773503,-0.5773503,-0.057735033,-0.5773503,-0.5773503,0.057735033,0.5773503,-0.5773503,0.057735033,-0.5773503,0.5773503,0.057735033,0.5773503,0.5773503,-0.057735033,-0.5773503,0.5773503,-0.057735033,0.5773503,0.5773503,-0.057735033,-0.5773503,-0.5773503,-0.057735033,-0.5773503,-0.5773503,0.057735033,-0.5773503,-0.5773503,0.057735033,0.5773503,-0.5773503,-0.057735033,0.5773503,-0.5773503,-0.057735033,0.5773503,-0.5773503,-0.5773503,0.5773503,-0.057735033,0.5773503,-0.5773503,-0.057735033,-0.5773503,-0.5773503,-0.057735033,0.5773503,0.5773503,-0.057735033,0.5773503,-0.5773503,0.057735033,0.5773503,0.5773503,0.057735033,-0.5773503,-0.5773503,0.057735033,-0.5773503,0.5773503,0.057735033,-0.5773503,-0.5773503,-0.057735033,-0.5773503,-0.5773503,-0.057735033,0.5773503,-0.5773503,-0.057735033,0.5773503,0.5773503,-0.057735033,-0.5773503,0.5773503,-0.057735033,-0.5773503,0.5773503,-0.057735033,-0.5773503,0.057735033,-0.5773503,0.5773503,-0.057735033,-0.5773503,-0.5773503,-0.057735033,-0.5773503,0.5773503,0.057735033,-0.5773503,0.5773503,-0.057735033,0.5773503,0.5773503,0.057735033,0.5773503,-0.5773503,-0.057735033,0.5773503,-0.5773503,0.057735033,0.5773503,-0.5773503,-0.057735033,-0.5773503,-0.5773503,-0.057735033,-0.5773503,0.5773503,-0.057735033,-0.5773503,0.5773503,0.057735033,-0.5773503,-0.5773503,0.057735033,-0.5773503,-0.5773503,0.057735033,-0.5773503]),
|
||||
positions: new Float32Array([0,0.05,-0.05,1,-0.05,-0.05,0,-0.05,-0.05,1,0.05,-0.05,1,-0.05,0.05,1,0.05,0.05,0,-0.05,0.05,0,0.05,0.05,0,-0.05,-0.05,0,-0.05,-0.05,1,-0.05,-0.05,1,0.05,-0.05,0,0.05,-0.05,0,0.05,-0.05,-0.05,0.05,0,0.05,-0.05,0,-0.05,-0.05,0,0.05,0.05,0,0.05,-0.05,1,0.05,0.05,1,-0.05,-0.05,1,-0.05,0.05,1,-0.05,-0.05,0,-0.05,-0.05,0,0.05,-0.05,0,0.05,0.05,0,-0.05,0.05,0,-0.05,0.05,0,-0.05,1,-0.05,0.05,0,-0.05,-0.05,0,-0.05,0.05,1,-0.05,0.05,0,0.05,0.05,1,0.05,-0.05,0,0.05,-0.05,1,0.05,-0.05,0,-0.05,-0.05,0,-0.05,0.05,0,-0.05,0.05,1,-0.05,-0.05,1,-0.05,-0.05,1,-0.05]),
|
||||
uvs: new Float32Array([0.625,0,0.375,0.25,0.375,0,0.625,0.25,0.375,0.5,0.625,0.5,0.375,0.75,0.625,0.75,0.375,1,0.125,0.75,0.125,0.5,0.875,0.5,0.625,1,0.875,0.75,0.625,0,0.375,0.25,0.375,0,0.625,0.25,0.375,0.5,0.625,0.5,0.375,0.75,0.625,0.75,0.375,1,0.125,0.75,0.125,0.5,0.875,0.5,0.625,1,0.875,0.75,0.625,0,0.375,0.25,0.375,0,0.625,0.25,0.375,0.5,0.625,0.5,0.375,0.75,0.625,0.75,0.375,1,0.125,0.75,0.125,0.5,0.875,0.5,0.625,1,0.875,0.75]),
|
||||
vertexCount: 42
|
||||
});
|
8
src/renderer/color-utils.ts
Normal file
|
@ -0,0 +1,8 @@
|
|||
import { vec4 } from "gl-matrix";
|
||||
|
||||
export const rgbToFloat = (
|
||||
r: number,
|
||||
g: number,
|
||||
b: number,
|
||||
a: number = 255
|
||||
): vec4 => [r / 255, g / 255, b / 255, a / 255];
|
15
src/renderer/editor.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
import { Behavior } from "./behavior";
|
||||
import { Transform } from "./transform";
|
||||
|
||||
type PaneConfig = {
|
||||
name: string;
|
||||
type: "transform" | "float" | "vec3" | "color";
|
||||
onChange: Function;
|
||||
};
|
||||
|
||||
export class Editor extends Behavior {
|
||||
private panes: PaneConfig[] = [];
|
||||
addTransform(name: string, onChange: (newTransform: Transform) => void) {
|
||||
this.panes.push({ name, type: "transform", onChange });
|
||||
}
|
||||
}
|
34
src/renderer/gizmo.ts
Normal file
|
@ -0,0 +1,34 @@
|
|||
import { WebGLApp } from "./webgl";
|
||||
import { Transform, v3 } from "./transform";
|
||||
import { Renderable } from "./renderable";
|
||||
import { MeshRenderer } from "./mesh-renderer";
|
||||
import { Mesh } from "./mesh";
|
||||
import { Shader } from "./shader";
|
||||
import { basicShaderConfig } from "../common-shaders/basic";
|
||||
import basicVert from "../common-shaders/basic.vert";
|
||||
import vertexColorsFrag from "../common-shaders/vertex-colors.frag";
|
||||
import gizmo from "../meshes/gizmo";
|
||||
|
||||
const gizmoShader = (app: WebGLApp) =>
|
||||
new Shader(basicShaderConfig)
|
||||
.vertex(basicVert)
|
||||
.fragment(vertexColorsFrag)
|
||||
.app(app);
|
||||
|
||||
export const createGizmo = (
|
||||
app: WebGLApp,
|
||||
camera: Transform,
|
||||
transform?: Transform
|
||||
) => {
|
||||
const localTransform = new Transform(
|
||||
transform?.position,
|
||||
transform?.rotation
|
||||
// v3(0.5)
|
||||
);
|
||||
|
||||
const mr = new MeshRenderer(app, gizmo, gizmoShader(app), camera).configure(
|
||||
{}
|
||||
);
|
||||
|
||||
new Renderable(app, localTransform, mr);
|
||||
};
|
BIN
src/renderer/helper-textures/black.png
Normal file
After Width: | Height: | Size: 526 B |
5
src/renderer/helper-textures/black.ts
Normal file
|
@ -0,0 +1,5 @@
|
|||
import { Texture } from "../texture";
|
||||
import { WebGLApp } from "../webgl";
|
||||
import black from "./black.png";
|
||||
|
||||
export const createBlackTexture = (app: WebGLApp) => new Texture(app, black);
|
BIN
src/renderer/helper-textures/bump.png
Normal file
After Width: | Height: | Size: 694 B |
5
src/renderer/helper-textures/bump.ts
Normal file
|
@ -0,0 +1,5 @@
|
|||
import { Texture } from "../texture";
|
||||
import { WebGLApp } from "../webgl";
|
||||
import bump from "./bump.png";
|
||||
|
||||
export const createBumpTexture = (app: WebGLApp) => new Texture(app, bump);
|
BIN
src/renderer/helper-textures/pink.png
Normal file
After Width: | Height: | Size: 654 B |
5
src/renderer/helper-textures/pink.ts
Normal file
|
@ -0,0 +1,5 @@
|
|||
import { Texture } from "../texture";
|
||||
import { WebGLApp } from "../webgl";
|
||||
import pink from "./pink.png";
|
||||
|
||||
export const createPinkTexture = (app: WebGLApp) => new Texture(app, pink);
|
BIN
src/renderer/helper-textures/white.png
Normal file
After Width: | Height: | Size: 654 B |
5
src/renderer/helper-textures/white.ts
Normal file
|
@ -0,0 +1,5 @@
|
|||
import { Texture } from "../texture";
|
||||
import { WebGLApp } from "../webgl";
|
||||
import white from "./white.png";
|
||||
|
||||
export const createWhiteTexture = (app: WebGLApp) => new Texture(app, white);
|
|
@ -156,8 +156,12 @@ export class MeshRenderer extends Behavior {
|
|||
|
||||
// gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
|
||||
|
||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT);
|
||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT);
|
||||
const uvOverflow = textureObject.config.uvClamp
|
||||
? gl.CLAMP_TO_EDGE
|
||||
: gl.REPEAT;
|
||||
|
||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, uvOverflow);
|
||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, uvOverflow);
|
||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
|
||||
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
|
||||
|
||||
|
@ -174,14 +178,7 @@ export class MeshRenderer extends Behavior {
|
|||
textures.forEach(([key, tex], index) => {
|
||||
const uniform = (this.shader.mappings.uniforms as any)[key];
|
||||
if (!uniform) {
|
||||
console.warn("had no uniform to set for", {
|
||||
textures,
|
||||
key,
|
||||
tex,
|
||||
uniform,
|
||||
index,
|
||||
});
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
|
||||
gl.activeTexture(intStart + index);
|
||||
|
@ -243,6 +240,8 @@ export class MeshRenderer extends Behavior {
|
|||
false,
|
||||
mat4.invert(mat4.create(), transform.toMat4())
|
||||
);
|
||||
|
||||
this.shader.onPrerender(this.app, time);
|
||||
}
|
||||
|
||||
async onStart(_: never, app: WebGLApp) {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { Behavior } from "./behavior";
|
||||
import { createGizmo } from "./gizmo";
|
||||
import { MeshRenderer } from "./mesh-renderer";
|
||||
import { Transform } from "./transform";
|
||||
import { WebGLApp } from "./webgl";
|
||||
|
@ -7,9 +8,12 @@ export class Renderable extends Behavior {
|
|||
constructor(
|
||||
public app: WebGLApp,
|
||||
public transform: Transform,
|
||||
public renderer: MeshRenderer
|
||||
public renderer: MeshRenderer,
|
||||
enableGizmo: boolean = false
|
||||
) {
|
||||
super(app);
|
||||
|
||||
if (enableGizmo) createGizmo(app, renderer.camera, transform);
|
||||
}
|
||||
|
||||
onDraw(time: number) {
|
||||
|
|
|
@ -32,6 +32,7 @@ export type ShaderMapping<
|
|||
projection: Uniform;
|
||||
texture0: Uniform;
|
||||
texture1: Uniform;
|
||||
texture2: Uniform;
|
||||
time: Uniform;
|
||||
view: Uniform;
|
||||
};
|
||||
|
@ -50,6 +51,13 @@ export class Shader {
|
|||
public mappings: InternalMapping = {} as any;
|
||||
public textures: Record<string, Texture> = {};
|
||||
|
||||
public materialValues: Record<string, any> = {};
|
||||
private prerenderHooks: ((
|
||||
app: WebGLApp,
|
||||
shader: Shader,
|
||||
time: number
|
||||
) => void)[] = [];
|
||||
|
||||
get gl() {
|
||||
const gl = this._app?.gl;
|
||||
if (!gl) {
|
||||
|
@ -76,6 +84,11 @@ export class Shader {
|
|||
return this;
|
||||
}
|
||||
|
||||
prerenderHook(fn: (app: WebGLApp, shader: Shader, time: number) => void) {
|
||||
this.prerenderHooks.push(fn);
|
||||
return this;
|
||||
}
|
||||
|
||||
attrib(name: string) {
|
||||
return this.gl.getAttribLocation(this.program as WebGLProgram, name);
|
||||
}
|
||||
|
@ -101,6 +114,7 @@ export class Shader {
|
|||
projection: this.uniform(config.uniforms.projection),
|
||||
texture0: this.uniform(config.uniforms.texture0),
|
||||
texture1: this.uniform(config.uniforms.texture1),
|
||||
texture2: this.uniform(config.uniforms.texture2),
|
||||
time: this.uniform(config.uniforms.time),
|
||||
view: this.uniform(config.uniforms.view),
|
||||
},
|
||||
|
@ -159,6 +173,12 @@ export class Shader {
|
|||
use() {
|
||||
this._app?.gl.useProgram(this.program);
|
||||
}
|
||||
|
||||
onPrerender(app: WebGLApp, time: number) {
|
||||
for (const fn of this.prerenderHooks) {
|
||||
fn(app, this, time);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const humanShaderType = (which: number): string => {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { Behavior } from "./behavior";
|
||||
import { WebGLApp } from "./webgl";
|
||||
import bump from "./helper-textures/bump.png";
|
||||
|
||||
export class Texture {
|
||||
public texture: ImageBitmap | Uint8Array | null = null;
|
||||
|
@ -8,7 +9,8 @@ export class Texture {
|
|||
|
||||
constructor(
|
||||
public app: WebGLApp,
|
||||
public url: string
|
||||
public url: string,
|
||||
public config: { uvClamp?: boolean } = {}
|
||||
) {}
|
||||
|
||||
setImage(data: Uint8Array, width: number, height: number) {
|
||||
|
@ -56,22 +58,3 @@ export class Texture {
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
export const White = (app: WebGLApp) =>
|
||||
new Texture(app, "manual").setImage(
|
||||
new Uint8Array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]),
|
||||
2,
|
||||
2
|
||||
);
|
||||
export const Black = (app: WebGLApp) =>
|
||||
new Texture(app, "manual").setImage(
|
||||
new Uint8Array([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1]),
|
||||
2,
|
||||
2
|
||||
);
|
||||
export const WhyBroke = (app: WebGLApp) =>
|
||||
new Texture(app, "manual").setImage(
|
||||
new Uint8Array([1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1]),
|
||||
2,
|
||||
2
|
||||
);
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { Editor } from "./editor";
|
||||
import { Telemetry } from "./telemetry";
|
||||
|
||||
export type WebGPUAppConfig = {
|
||||
|
@ -5,6 +6,8 @@ export type WebGPUAppConfig = {
|
|||
context?: GPUCanvasConfiguration;
|
||||
zNear?: number;
|
||||
zFar?: number;
|
||||
editor?: boolean;
|
||||
telemetry?: boolean;
|
||||
};
|
||||
|
||||
export type RenderHandle = (
|
||||
|
@ -16,6 +19,7 @@ export class WebGLApp {
|
|||
public canvas: HTMLCanvasElement;
|
||||
public telemetry?: Telemetry;
|
||||
public gl: WebGL2RenderingContext;
|
||||
public editor?: Editor;
|
||||
private loadingMessages: Set<string> = new Set(["[noeidelon] [stage 2]"]);
|
||||
|
||||
public registry: {
|
||||
|
@ -48,9 +52,13 @@ export class WebGLApp {
|
|||
// this.gl.getExtension("OES_element_index_uint"); // default
|
||||
this.gl.getExtension("EXT_texture_filter_anisotropic");
|
||||
|
||||
if (location.search.includes("telemetry")) {
|
||||
if (location.search.includes("telemetry") || config.telemetry) {
|
||||
this.telemetry = new Telemetry(this);
|
||||
}
|
||||
|
||||
if (location.search.includes("editor") || config.editor) {
|
||||
this.editor = new Editor(this);
|
||||
}
|
||||
} catch (e) {
|
||||
const main = document.querySelector("main");
|
||||
if (main) {
|
||||
|
|
|
@ -24,5 +24,6 @@
|
|||
"strict": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"skipLibCheck": true
|
||||
}
|
||||
},
|
||||
"exclude": ["html/"]
|
||||
}
|
||||
|
|