diff --git a/package.json b/package.json index 2214059..b6b6dc7 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "ant-design-vue": "4.x", "highlight.js": "^11.11.1", "peerjs": "^1.5.4", + "three": "^0.172.0", "vue": "^3.3.0", "vue-i18n": "^9.1.9", "vue-router": "^4.5.0" @@ -26,6 +27,7 @@ "devDependencies": { "@rushstack/eslint-patch": "^1.6.1", "@types/node": "^20.10.6", + "@types/three": "^0.172.0", "@types/wicg-file-system-access": "^2023.10.5", "@vitejs/plugin-basic-ssl": "^1.2.0", "@vitejs/plugin-vue": "^5.2.1", diff --git a/src/pages/pointShader/pointShader.vue b/src/pages/pointShader/pointShader.vue new file mode 100644 index 0000000..0edb695 --- /dev/null +++ b/src/pages/pointShader/pointShader.vue @@ -0,0 +1,205 @@ + + + + + diff --git a/src/router/router.ts b/src/router/router.ts index afcc862..8165a3f 100644 --- a/src/router/router.ts +++ b/src/router/router.ts @@ -1,11 +1,13 @@ import { createRouter, createWebHashHistory } from "vue-router"; import Index from "../pages/file/index.vue"; import Voice from "../pages/voice/webrtcVoice.vue"; +import PointShader from "../pages/pointShader/pointShader.vue"; const router = createRouter({ history: createWebHashHistory(), routes: [ { path: "/", component: Index }, { path: "/voice", component: Voice }, + { path: "/pointShader", component: PointShader }, ], }); diff --git a/static/jl.jpg b/static/jl.jpg new file mode 100644 index 0000000..ac34f69 Binary files /dev/null and b/static/jl.jpg differ diff --git a/static/test.mp4 b/static/test.mp4 new file mode 100644 index 0000000..9b856f1 Binary files /dev/null and b/static/test.mp4 differ diff --git a/yarn.lock b/yarn.lock index a33e0a3..374dd4b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -394,6 +394,11 @@ core-js "^3.15.1" nanopop "^2.1.0" +"@tweenjs/tween.js@~23.1.3": + version "23.1.3" + resolved "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-23.1.3.tgz#eff0245735c04a928bb19c026b58c2a56460539d" + integrity sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA== + "@types/json-schema@^7.0.12": version "7.0.15" resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" @@ -411,6 +416,28 @@ resolved "https://registry.npmmirror.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== +"@types/stats.js@*": + version "0.17.3" + resolved "https://registry.npmmirror.com/@types/stats.js/-/stats.js-0.17.3.tgz#705446e12ce0fad618557dd88236f51148b7a935" + integrity sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ== + +"@types/three@^0.172.0": + version "0.172.0" + resolved "https://registry.npmmirror.com/@types/three/-/three-0.172.0.tgz#5094852dfa781d2fe1c65eb1b4985a4aa99858b7" + integrity sha512-LrUtP3FEG26Zg5WiF0nbg8VoXiKokBLTcqM2iLvM9vzcfEiYmmBAPGdBgV0OYx9fvWlY3R/3ERTZcD9X5sc0NA== + dependencies: + "@tweenjs/tween.js" "~23.1.3" + "@types/stats.js" "*" + "@types/webxr" "*" + "@webgpu/types" "*" + fflate "~0.8.2" + meshoptimizer "~0.18.1" + +"@types/webxr@*": + version "0.5.20" + resolved "https://registry.npmmirror.com/@types/webxr/-/webxr-0.5.20.tgz#b16b681af314ec011b2e8221b0a072d691c04953" + integrity sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg== + "@types/wicg-file-system-access@^2023.10.5": version "2023.10.5" resolved "https://registry.npmmirror.com/@types/wicg-file-system-access/-/wicg-file-system-access-2023.10.5.tgz#14b3c25eb4d914b5734795bdea71da229f918b9d" @@ -661,6 +688,11 @@ resolved "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.1.3.tgz#4a61dbd29783d01ddab504276dcf0c2b6988654f" integrity sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg== +"@webgpu/types@*": + version "0.1.52" + resolved "https://registry.npmmirror.com/@webgpu/types/-/types-0.1.52.tgz#239995418d86de927269aca54cbadfbee04eb03a" + integrity sha512-eI883Nlag2hGIkhXxAnq8s4APpqXWuPL3Gbn2ghiU12UjLvfCbVqHK4XfXl3eLRTatqcMmeK7jws7IwWsGfbzw== + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -1175,6 +1207,11 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fflate@~0.8.2: + version "0.8.2" + resolved "https://registry.npmmirror.com/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea" + integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== + file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -1542,6 +1579,11 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +meshoptimizer@~0.18.1: + version "0.18.1" + resolved "https://registry.npmmirror.com/meshoptimizer/-/meshoptimizer-0.18.1.tgz#cdb90907f30a7b5b1190facd3b7ee6b7087797d8" + integrity sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw== + micromatch@^4.0.4, micromatch@^4.0.5, micromatch@~4.0.8: version "4.0.8" resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" @@ -2012,6 +2054,11 @@ text-table@^0.2.0: resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +three@^0.172.0: + version "0.172.0" + resolved "https://registry.npmmirror.com/three/-/three-0.172.0.tgz#6944a72f8439e8f7e4b034c8539ec82f5ebe0082" + integrity sha512-6HMgMlzU97MsV7D/tY8Va38b83kz8YJX+BefKjspMNAv0Vx6dxMogHOrnRl/sbMIs3BPUKijPqDqJ/+UwJbIow== + throttle-debounce@^5.0.0: version "5.0.2" resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz#ec5549d84e053f043c9fd0f2a6dd892ff84456b1"