Commit 23042021 authored by Esguerra Montana's avatar Esguerra Montana
Browse files

Update index.html

parent ae1c3370
Pipeline #9407 passed with stage
in 5 seconds
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<!-- Starting an immersive WebXR session requires user interaction. <!-- Starting an immersive WebXR session requires user interaction.
We start this one with a simple button. --> We start this one with a simple button. -->
<button onclick="activateXR()">Start HOuse</button> <button onclick="activateXR()">Start Torus</button>
<script> <script>
async function activateXR() { async function activateXR() {
// Add a canvas element and initialize a WebGL context that is compatible with WebXR. // Add a canvas element and initialize a WebGL context that is compatible with WebXR.
...@@ -23,66 +23,15 @@ async function activateXR() { ...@@ -23,66 +23,15 @@ async function activateXR() {
const scene = new THREE.Scene(); const scene = new THREE.Scene();
// Define the vertices // Color of the torus geometry.
const vertices = new Float32Array([ const material = new THREE.MeshToonMaterial({ color: 0xc994c7 });
-1.0, 0.0, 1.0, // P0
1.0, 0.0, 1.0, // P1 // Create the torus and add it to the demo scene.
1.0, 0.0, -1.0, // P2 const torus = new THREE.Mesh( new THREE.PolyhedronBufferGeometry(6, 2, 3), material);
-1.0, 0.0, -1.0, // P3 //position the next geometry (sphere)
-1.0, 2.0, 1.0, // P4 torus.position.set(0, 0, -1);
1.0, 2.0, 1.0, // P5 // Add the mesh to the scene
1.0, 2.0, -1.0, // P6 scene.add( torus );
-1.0, 2.0, -1.0, // P7
0.0, 3.0, 0.0 // P8
]);
// Define the indices for the walls
const wallIndices = new Uint16Array([
0, 1, 5, 0, 5, 4, // Front face
1, 2, 6, 1, 6, 5, // Right face
2, 3, 7, 2, 7, 6, // Back face
3, 0, 4, 3, 4, 7, // Left face
4, 5, 6, 4, 6, 7 // Top face
]);
// Define the indices for the roof
const roofIndices = new Uint16Array([
4, 5, 8, // Front roof face
5, 6, 8, // Right roof face
6, 7, 8, // Back roof face
7, 4, 8 // Left roof face
]);
// Create the wall geometry
const wallGeometry = new THREE.BufferGeometry();
wallGeometry.setAttribute('position', new THREE.BufferAttribute(vertices, 3));
wallGeometry.setIndex(new THREE.BufferAttribute(wallIndices, 1));
// Create the roof geometry
const roofGeometry = new THREE.BufferGeometry();
roofGeometry.setAttribute('position', new THREE.BufferAttribute(vertices, 3));
roofGeometry.setIndex(new THREE.BufferAttribute(roofIndices, 1));
// Create materials for walls and roof
const wallMaterial = new THREE.MeshBasicMaterial({ color: 0x8B4513, side: THREE.DoubleSide });
const roofMaterial = new THREE.MeshBasicMaterial({ color: 0xFF0000, side: THREE.DoubleSide });
// Create the wall and roof meshes
const wallMesh = new THREE.Mesh(wallGeometry, wallMaterial);
const roofMesh = new THREE.Mesh(roofGeometry, roofMaterial);
// Add the meshes to the scene
scene.add(wallMesh);
scene.add(roofMesh);
// Render the scene
function animate() {
requestAnimationFrame(animate);
wallMesh.rotation.y += 0.01;
roofMesh.rotation.y += 0.01;
renderer.render(scene, camera);
}
animate();
// Set up the WebGLRenderer, which handles rendering to the session's base layer. // Set up the WebGLRenderer, which handles rendering to the session's base layer.
const renderer = new THREE.WebGLRenderer({ const renderer = new THREE.WebGLRenderer({
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment