Skip to content

troisjs/trois

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Apr 7, 2023
a1b1239 · Apr 7, 2023
Mar 23, 2022
Jul 15, 2021
Apr 26, 2021
Feb 3, 2022
Feb 21, 2023
Apr 20, 2021
May 11, 2021
Apr 28, 2021
Aug 30, 2021
Feb 24, 2023
Apr 15, 2021
Mar 23, 2022
Feb 16, 2022
May 11, 2021
Feb 11, 2021

Repository files navigation

✨ ThreeJS + VueJS 3 + ViteJS ⚡

NPM Package Build Size NPM Downloads Twitter Twitter

I wanted to code something similar to react-three-fiber but for VueJS.

I started from scratch, I will rewrite some of my WebGL demos to see if this little toy can do the job.

Feel free to contact me if you need a ThreeJS developer ^^

Trois is a french word, it means Three.

Sponsors (Thanks 💙 !!!)

Contributors (Thanks 💙 !!!)

Usage (CDN)

TroisJS is really simple and easy to use :

<div id="app">
  <renderer ref="renderer" antialias orbit-ctrl resize="window">
    <camera :position="{ z: 10 }"></camera>
    <scene>
      <point-light :position="{ y: 50, z: 50 }"></point-light>
      <box ref="box" :rotation="{ y: Math.PI / 4, z: Math.PI / 4 }">
        <lambert-material></lambert-material>
      </box>
    </scene>
  </renderer>
</div>

<script type="module">
  import { createApp } from 'https://unpkg.com/troisjs@0.3.2/build/trois.module.cdn.min.js';
  createApp({
    mounted() {
      const renderer = this.$refs.renderer;
      const box = this.$refs.box.mesh;
      renderer.onBeforeRender(() => {
        box.rotation.x += 0.01;
      });
    }
  }).mount('#app');
</script>

Read more on https://troisjs.github.io/guide/