All Projects → troisjs → Trois

troisjs / Trois

✨ ThreeJS + VueJS 3 + ViteJS ⚡

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Trois

Roygbiv
A 3D engine for the Web
Stars: ✭ 499 (-22.99%)
Mutual labels:  3d, webgl, threejs, three-js
Vue Gl
Vue.js components rendering 3D WebGL graphics reactively with three.js
Stars: ✭ 434 (-33.02%)
Mutual labels:  3d, webgl, threejs, three-js
Threejs Sandbox
Set of experiments and extensions to THREE.js.
Stars: ✭ 163 (-74.85%)
Mutual labels:  3d, webgl, threejs, three-js
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-57.1%)
Mutual labels:  3d, webgl, threejs, three-js
Andromeda
This is a WebGL recreation of the popular music video Gorillaz - Andromeda.
Stars: ✭ 145 (-77.62%)
Mutual labels:  3d, webgl, threejs
Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (-31.33%)
Mutual labels:  3d, webgl, threejs
Jeelizfacefilter
Javascript/WebGL lightweight face tracking library designed for augmented reality webcam filters. Features : multiple faces detection, rotation, mouth opening. Various integration examples are provided (Three.js, Babylon.js, FaceSwap, Canvas2D, CSS3D...).
Stars: ✭ 2,042 (+215.12%)
Mutual labels:  3d, webgl, threejs
Solar System Threejs
The Solar System: Modeled to scale with Three.js
Stars: ✭ 107 (-83.49%)
Mutual labels:  3d, webgl, threejs
Wechart
Create all the [ch]arts by cax or three.js - Cax 和 three.js 创造一切图[表]
Stars: ✭ 152 (-76.54%)
Mutual labels:  3d, webgl, threejs
Pathfinding Visualizer Threejs
A visualizer for pathfinding algorithms in 3D with maze generation, first-person view and device camera input.
Stars: ✭ 209 (-67.75%)
Mutual labels:  3d, webgl, threejs
Enable3d
🕹️ Standalone 3D Framework / Physics for three.js (using ammo.js) / 3D extension for Phaser 3
Stars: ✭ 271 (-58.18%)
Mutual labels:  3d, webgl, threejs
3d Force Graph
3D force-directed graph component using ThreeJS/WebGL
Stars: ✭ 2,386 (+268.21%)
Mutual labels:  3d, webgl, threejs
Earthjs
D3 Earth JS
Stars: ✭ 128 (-80.25%)
Mutual labels:  3d, webgl, threejs
Lba2remake
A Little Big Adventure 2 / Twinsen's Odyssey reimplementation in JavaScript / Three.js / React
Stars: ✭ 116 (-82.1%)
Mutual labels:  3d, webgl, threejs
React Three Editable
👀 ✏️ Edit your react-three-fiber scene with a visual editor without giving up control over your code.
Stars: ✭ 261 (-59.72%)
Mutual labels:  3d, webgl, threejs
Livecodelab
a web based livecoding environment
Stars: ✭ 276 (-57.41%)
Mutual labels:  webgl, threejs, three-js
React 3d Viewer
A 3D model viewer component based on react.js 一个基于react.js的组件化3d模型查看工具
Stars: ✭ 100 (-84.57%)
Mutual labels:  3d, webgl, threejs
Giojs
🌏 A Declarative 3D Globe Data Visualization Library built with Three.js
Stars: ✭ 1,528 (+135.8%)
Mutual labels:  3d, webgl, threejs
3dio Js
JavaScript toolkit for interior apps
Stars: ✭ 255 (-60.65%)
Mutual labels:  3d, webgl, threejs
Glmaps
Data visualization examples and tutorials from scratch. 数据可视化示例代码集与新手学习教程。
Stars: ✭ 288 (-55.56%)
Mutual labels:  3d, webgl, threejs

✨ ThreeJS + VueJS 3 + ViteJS ⚡

Trois is a french word, it means Three.

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.

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/[email protected]/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/

HMR

Thanks to VueJS/ViteJS, TroisJS use watchers and HMR to update ThreeJS objects when you update a template or a prop. This means the result in your browser will be automatically updated without reloading all the stuff. This is really helpful when you are creating a TroisJS Scene.

Features

  • [ ] Lights
    • [x] AmbientLight
    • [x] DirectionalLight
    • [x] HemisphereLight
    • [x] PointLight
    • [x] RectAreaLight
    • [x] SpotLight
  • [ ] Materials
    • [x] Basic
    • [x] Lambert
    • [x] Mapcap
    • [x] Phong
    • [x] Physical
    • [x] Standard
    • [x] SubSurface
    • [x] Toon
  • [ ] Geometries
    • [x] Box
    • [x] Circle
    • [x] Cone
    • [x] Cylinder
    • [x] Dodecahedron
    • [x] Icosahedron
    • [x] Lathe
    • [x] Octahedron
    • [x] Polyhedron
    • [x] Ring
    • [x] Sphere
    • [x] Tetrahedron
    • [x] Torus
    • [x] TorusKnot
    • [x] Tube
  • [ ] Post Processing
    • [x] EffectComposer
      • [x] BokehPass
      • [x] FilmPass
      • [x] FXAAPass
      • [x] HalftonePass
      • [x] Renderpass
      • [x] SMAAPass
      • [x] UnrealBloomPass
      • [x] TiltShiftPass
      • [x] ZoomBlurPass
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].