From ae19fddccaa818b4ab6eeb437299e4dcafc029ce Mon Sep 17 00:00:00 2001 From: s Date: Wed, 18 Sep 2024 01:06:02 +0900 Subject: [PATCH] :sparkles: add translate z ui slider --- src/App.tsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 2cdae9d..2cd1a00 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -7,7 +7,7 @@ import { createWebglRenderer } from './webgl' function App() { const [scale, setScale] = useState(1) - const [translation, setTranslation] = useState<[number, number]>([0, 0]) + const [translation, setTranslation] = useState<{ x: number, y: number, z: number }>({ x: 0, y: 0, z: 0 }) const [rotation, setRotation] = useState<{ x: number, y: number, z: number }>({ x: 0, y: 0, z: 0 }) const [renderer, setRenderer] = useState | null>(null) @@ -28,7 +28,7 @@ function App() { renderer.rotateX(rotation.x) renderer.rotateY(rotation.y) renderer.rotateZ(rotation.z) - renderer.translate(translation[0], translation[1]) + renderer.translate(translation.x, translation.y, translation.z) renderer.draw() }, [scale, translation, rotation]) @@ -45,10 +45,12 @@ function App() { setRotation(v => ({ ...v, y: Number(e.target.value) }))} min="0" max="300" step="1" />

rotate Z: {rotation.z}

setRotation(v => ({ ...v, z: Number(e.target.value) }))} min="0" max="300" step="1" /> -

translate x : {translation[0]}

- setTranslation(t => [Number(e.target.value), t[1]])} min="0" max="300" step="1" /> -

translate y : {translation[1]}

- setTranslation(t => [t[0], Number(e.target.value)])} min="0" max="300" step="1" /> +

translate x : {translation.x}

+ setTranslation(v => ({ ...v, x: Number(e.target.value) }))} min="0" max="300" step="1" /> +

translate y : {translation.y}

+ setTranslation(v => ({ ...v, y: Number(e.target.value) }))} min="0" max="300" step="1" /> +

translate z : {translation.z}

+ setTranslation(v => ({ ...v, z: Number(e.target.value) }))} min="0" max="300" step="1" />