Shaking issue for SO post
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r75/three.min.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/master/examples/js/controls/TrackballControls.js"></script>
<script src="https://rawgit.com/KhronosGroup/WebGLDeveloperTools/master/src/debug/webgl-debug.js"></script>
<div id="webgl">
</div>
CSS
body { margin: 0; overflow: hidden; background-color: #000; }
.tm { position: absolute; top: 10px; right: 10px; }
.webgl-error { font: 15px/30px monospace; text-align: center; color: #FFF; margin: 50px; }
.webgl-error a { color: #FFF; }
#zoomContainer {
width: 200px;
height: 200px;
/* or transparent; will show through only if renderer alpha: true */
background-color: #000000;
/* Black borders */
border: 1px solid white;
margin: 20px;
padding: 0px;
position: absolute;
right: 0px;
bottom: 0px;
z-index: 100;
}
JavaScript
var zoomContainer,
camera,
scene,
renderer,
zoomCamera,
dot,
plane,
timer,
axes2,
coordCamera,
zoomWidth = 300,
zoomHeight = 300,
cameraDistance = 150,
zoomDistance = 70;
var mainContainer = document.getElementById('webgl');
var ctx = WebGLDebugUtils.makeDebugContext(mainContainer);
/*if (!Detector.webgl) {
Detector.addGetWebGLMessage(mainContainer);
}
*/
var width = window.innerWidth,
height = window.innerHeight;
// For SphereGeometry
var radius = 50,
radiusCamera = 200,
segments = 64,
rotation = 6;
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(45, width / height, 0.1, 1000);
renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize(width, height);
// For setting multiple scenes
//renderer.autoClear = false;
// Set child renderer to mainContainer
mainContainer.appendChild(renderer.domElement);
// Lights for scene
var lights = [];
lights[0] = new THREE.PointLight(0xffffff, 1, 0);
lights[1] = new THREE.PointLight(0xffffff, 1, 0);
lights[0].position.set(0, 10000, 0);
lights[1].position.set(0, -10000, 0);
camera.add(lights[0]);
camera.add(lights[1]);
// Add camera to main scene
scene.add(camera);
var geometry = new THREE.SphereGeometry(radius, segments, segments, 0, 2*Math.PI, 0, 2*Math.PI);
// New material
var material = new THREE.MeshPhongMaterial({
color: 0x156289,
emissive: 0x072534 ,
side: THREE.DoubleSide,
shading: THREE.FlatShading,
polygonOffset: true,
// positive value pushes polygon further away
polygonOffsetFactor: 1,
polygonOffsetUnits: 1
});
// For mesh
var sphere = new THREE.Mesh(geometry, material);
// For wireframe
var helper = new THREE.EdgesHelper(sphere, 0xffffff);
helper.material.linewidth = 1;
// Add edges to main scene
scene.add(helper);
...