1
0
mirror of https://github.com/robonen/canvas-3d.git synced 2026-03-20 02:44:40 +00:00

feat(engine): wasm experiments

This commit is contained in:
2022-11-25 01:19:37 +07:00
parent aa8d740ca9
commit 9f6e2bd0d5
6 changed files with 44 additions and 7 deletions

View File

@@ -1,7 +1,8 @@
// https://v3.nuxtjs.org/api/configuration/nuxt.config // https://v3.nuxtjs.org/api/configuration/nuxt.config
import {resolve} from 'path'; import { resolve } from 'path';
const SRC = resolve(__dirname, 'src'); const SRC = resolve(__dirname, 'src');
const PACKAGES = resolve(__dirname, 'packages');
export default defineNuxtConfig({ export default defineNuxtConfig({
srcDir: SRC, srcDir: SRC,
@@ -9,7 +10,7 @@ export default defineNuxtConfig({
app: { app: {
head: { head: {
title: 'Canvas 3D', title: 'Canvas 3D',
link: [{rel: 'icon', href: '/favicon.svg'}], link: [{ rel: 'icon', href: '/favicon.svg' }],
}, },
}, },
css: ['@/assets/styles/main.scss'], css: ['@/assets/styles/main.scss'],
@@ -17,7 +18,5 @@ export default defineNuxtConfig({
typeCheck: true, typeCheck: true,
shim: false, shim: false,
}, },
modules: [ modules: ['@vueuse/nuxt'],
'@vueuse/nuxt', });
],
})

View File

@@ -0,0 +1,7 @@
FROM ubuntu:22.04
MAINTAINER Robonen Andrew <robonenandrew@gmail.com>
WORKDIR /src
RUN apt update && apt install -y clang lldb lld

3
packages/matrix/build.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env sh
docker build -t llvm .

7
packages/matrix/run.sh Normal file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env sh
docker run --rm \
-v $(pwd)/src:/src \
-v $(pwd)/dist:/dist \
llvm \
clang --target=wasm32 -O3 -fno-builtin -flto -nostdlib -Wl,--no-entry -Wl,--export-all -Wl,--lto-O3 -o /dist/matrix.wasm /src/matrix.c

View File

@@ -0,0 +1,22 @@
/*
* Matrix multiplication
* C = A * B
*/
void matrix_mul(double *A, double *B, double *C, unsigned m, unsigned n, unsigned p)
{
unsigned i, j, k;
double sum;
for (i = 0; i < m; i++)
{
for (j = 0; j < p; j++)
{
sum = 0;
for (k = 0; k < n; k++)
{
sum += A[i * n + k] * B[k * p + j];
}
C[i * p + j] = sum;
}
}
}

View File

@@ -1 +0,0 @@
import {Vector} from './types';