MCPcopy Create free account
hub / github.com/Vishal-raj-1/Awesome-JavaScript-Projects / main

Function main

assets/js/3DPaint.js:3–106  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1import * as THREE from "https://threejsfundamentals.org/threejs/resources/threejs/r127/build/three.module.js";
2
3function main() {
4 const canvas = document.querySelector("#canvas");
5 const renderer = new THREE.WebGLRenderer({
6 canvas,
7 preserveDrawingBuffer: true,
8 alpha: true,
9 });
10 renderer.autoClearColor = false;
11
12 const camera = new THREE.OrthographicCamera(-2, 2, 1, -1, -1, 1);
13
14 const scene = new THREE.Scene();
15
16 {
17 const color = 0xffffff;
18 const intensity = 1;
19 const light = new THREE.DirectionalLight(color, intensity);
20 light.position.set(-1, 2, 4);
21 scene.add(light);
22 }
23
24 const radius = 0.8;
25 const detail = 2;
26 const geometry = new THREE.IcosahedronGeometry(radius, detail);
27
28 const base = new THREE.Object3D();
29 scene.add(base);
30 base.scale.set(0.1, 0.1, 0.1);
31
32 function makeInstance(geometry, color, x, y, z) {
33 const material = new THREE.MeshPhongMaterial({ color });
34
35 const cube = new THREE.Mesh(geometry, material);
36 base.add(cube);
37
38 cube.position.set(x, y, z);
39
40 return cube;
41 }
42
43 makeInstance(geometry, "#0FF", -2, 0, 0);
44 makeInstance(geometry, "#0F0", 2, 0, 0);
45
46 function resizeRendererToDisplaySize(renderer) {
47 const canvas = renderer.domElement;
48 const width = canvas.clientWidth;
49 const height = canvas.clientHeight;
50 const needResize = canvas.width !== width || canvas.height !== height;
51 if (needResize) {
52 renderer.setSize(width, height, false);
53 }
54 return needResize;
55 }
56
57 const state = { x: 0, y: 0 };
58
59 function render(time) {
60 time *= 0.001; // convert to seconds

Callers 1

3DPaint.jsFile · 0.70

Calls 2

setPositionFunction · 0.85
makeInstanceFunction · 0.70

Tested by

no test coverage detected