<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>JassWeb</provider_name><provider_url>https://jassweb.com/solved</provider_url><author_name>Kirat</author_name><author_url>https://jassweb.com/solved/author/jaspritsinghghumangmail-com/</author_url><title>[Solved] Optimize cube rendering in threejs - JassWeb</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="OGaZTIzJGG"&gt;&lt;a href="https://jassweb.com/solved/solved-optimize-cube-rendering-in-threejs/"&gt;[Solved] Optimize cube rendering in threejs&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://jassweb.com/solved/solved-optimize-cube-rendering-in-threejs/embed/#?secret=OGaZTIzJGG" width="600" height="338" title="&#x201C;[Solved] Optimize cube rendering in threejs&#x201D; &#x2014; JassWeb" data-secret="OGaZTIzJGG" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://jassweb.com/solved/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
</html><description>[ad_1] Finally, I get the solution! &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/88/three.js"&gt;&lt;/script&gt; &lt;script&gt; setTimeout(()=&gt;{ s=1.5 k=[] onmousedown=()=&gt;{document.body.requestPointerLock()} onmousemove=(e)=&gt;{ if(document.pointerLockElement===document.body){ vector.xa-=0.01*e.movementX vector.ya-=0.01*e.movementY }} onkeydown=onkeyup=function(e){k[e.keyCode]=e.type=="keydown"} document.body.style.backgroundColor="black" document.body.style.margin="0" scene=new THREE.Scene() camera=new THREE.PerspectiveCamera(75,1,0.1,16);vector={xs:0,ys:0,zs:0,xa:0,ya:0} camera.position.set(0,0,0);renderer=new THREE.WebGLRenderer() document.body.appendChild(renderer.domElement) light=new THREE.PointLight("rgb(0,127,255)",1,8);light.position.set(0,0,0);scene.add(light) function render(){ camera.aspect=window.innerWidth/window.innerHeight camera.updateProjectionMatrix() renderer.setSize(innerWidth,innerHeight) requestAnimationFrame(render) renderer.render(scene,camera) } setInterval(()=&gt;{ if(vector.ya&lt;-1){vector.ya=-1} if(1&lt;vector.ya){vector.ya=1} if(k[37]){vector.xa+=0.1} if(k[38]){if(vector.ya&lt;1.2){vector.ya+=0.1}} if(k[39]){vector.xa-=0.1} if(k[40]){if(-1.2&lt;vector.ya){vector.ya-=0.1}} if(k[87]){vector.xs+=0.01*Math.sin(vector.xa)*Math.cos(vector.ya);vector.ys+=0.01*vector.ya;vector.zs+=0.01*Math.cos(vector.xa)*Math.cos(vector.ya)} if(k[83]){vector.xs-=0.01*Math.sin(vector.xa)*Math.cos(vector.ya);vector.ys-=0.01*vector.ya;vector.zs-=0.01*Math.cos(vector.xa)*Math.cos(vector.ya)} if(k[65]){vector.xs+=0.01*Math.sin(vector.xa+Math.PI/2)*Math.cos(vector.ya);vector.ys+=0.01*vector.ya;vector.zs+=0.01*Math.cos(vector.xa+Math.PI/2)*Math.cos(vector.ya)} if(k[68]){vector.xs+=0.01*Math.sin(vector.xa-Math.PI/2)*Math.cos(vector.ya);vector.ys+=0.01*vector.ya;vector.zs+=0.01*Math.cos(vector.xa-Math.PI/2)*Math.cos(vector.ya)} camera.position.x+=vector.xs;vector.xs=vector.xs*9/10 camera.position.y+=vector.ys;vector.ys=vector.ys*9/10 camera.position.z+=vector.zs;vector.zs=vector.zs*9/10 light.position.set(camera.position.x,camera.position.y,camera.position.z) camera.lookAt(new THREE.Vector3(camera.position.x+Math.sin(vector.xa)*Math.cos(vector.ya),camera.position.y+vector.ya,camera.position.z+Math.cos(vector.xa)*Math.cos(vector.ya))) ... Read more</description></oembed>
