返回首页
最新
没有点击诱饵,只有纯粹的 HTML、CSS、JavaScript 和 WASM。
<p>只需复制并粘贴以下 HTML 代码,即可运行《半条命》。
<p>链接:
- https://www.npmjs.com/package/xash3d-fwgs
- https://www.npmjs.com/package/cs16-client
- https://www.npmjs.com/package/hlsdk-portable
- https://github.com/yohimik/webxash3d-fwgs
<p>
```html
<!DOCTYPE html>
<html>
<head>
<title>加载中</title>
<style>
canvas {
width: 100vw;
height: 100vh;
top: 0;
left: 0;
position: fixed;
}
body {
margin: 0;
}
</style>
<script src="https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/raw.js"></script>
</head>
<body>
<canvas id="canvas"></canvas>
<script type="module">
import JSZip from 'https://cdn.skypack.dev/jszip@3.10.1';
async function main() {
const files = {};
const res = await fetch('https://raw.githubusercontent.com/x8BitRain/webXash/main/public/hl/hldm.zip');
const zip = await JSZip.loadAsync(await res.arrayBuffer());
await Promise.all(Object.keys(zip.files).map(async p => {
const file = zip.files[p];
if (file.dir) return;
const path = `/rodir/${p}`;
files[path] = await file.async("uint8array");
}));
Xash3D({
arguments: ['-windowed'],
canvas: document.getElementById('canvas'),
ctx: document.getElementById('canvas').getContext('webgl2', {
alpha: false,
depth: true,
stencil: true,
antialias: true
}),
dynamicLibraries: [
"filesystem_stdio.wasm",
"libref_gles3compat.wasm",
"cl_dlls/menu_emscripten_wasm32.wasm",
"dlls/hl_emscripten_wasm32.so",
"cl_dlls/client_emscripten_wasm32.wasm",
],
onRuntimeInitialized: function () {
Object.keys(files).forEach(k => {
const dir = k.split('/').slice(0, -1).join('/');
this.FS.mkdirTree(dir);
this.FS.writeFile(k, files[k]);
});
this.FS.chdir('/rodir');
},
locateFile: (p) => {
switch (p) {
case 'xash.wasm':
return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/xash.wasm';
case 'filesystem_stdio.wasm':
return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/filesystem_stdio.wasm';
case 'libref_gles3compat.wasm':
return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/libref_gles3compat.wasm';
case 'cl_dlls/menu_emscripten_wasm32.wasm':
return 'https://cdn.jsdelivr.net/npm/xash3d-fwgs@latest/dist/cl_dll/menu_emscripten_wasm32.wasm';
case 'dlls/hl_emscripten_wasm32.so':
return 'https://cdn.jsdelivr.net/npm/hlsdk-portable@latest/dist/dlls/hl_emscripten_wasm32.so';
case 'cl_dlls/client_emscripten_wasm32.wasm':
return 'https://cdn.jsdelivr.net/npm/hlsdk-portable@latest/dist/cl_dll/client_emscripten_wasm32.wasm';
default:
return p;
}
},
});
}
main();
</script>
</body>
</html>
```
从提交活动来看,自2023年底以来似乎几乎处于停滞状态,新问题也大多被忽视。这是被遗弃了,还是说已经“成熟”了呢?文档中仍然有很多“未来工作”的参考,所以我认为它只是被遗弃了。
这很可惜,因为它仍然是唯一一个在浏览器中提供良好实现的库,包括:
* 数值N维张量
* 多种后端(CPU、WebGPU、WASM、WebGL)
* 自动求导
所有进行大语言模型(LLM)和其他机器学习应用的人都只在浏览器中进行推理,因此他们对来自其他框架的ONNX导出感到满意。但这并不涵盖在浏览器中进行优化并在JS/TS中创建自定义模型的用例。我甚至不需要所有的层和神经网络的内容。只需要一个干净的张量+自动求导库,并且支持TypeScript。
我在寻找类似于 DeskHog(https://posthog.com/deskhog)的硬件:开源、可修改、价格实惠的开发者玩具,我可以通过代码进行自定义。
理想情况下,我希望找到以下特性:
- 易于编程(支持 Python、C++ 或通过 SDK)
- 适合硬件改造(可以添加传感器、更换模块)
- 适合爱好者/原型制作使用的价格
有没有人有类似平台的推荐或经验分享?
我尽量将订阅数量控制在最低限度,尽管有几个我认为对我的工作流程至关重要。我很想知道大家的必备订阅是什么。<p>我的订阅包括 Excalidraw、Mermaid 和 ChatGPT。