Multi ABB. Toggle Memory Leak.
memory leak
by steveow
HTML
<!-- *** In jsfiddle: ensure javascript...load type = no wrap in body ***
-->
<!--- Using latest THREE.js (r70+) -->
<script src="http://threejs.org/build/three.min.js"></script>
<script src="http://threejs.org/examples/js/controls/OrbitControls.js"></script>
<h1 id="title_A">Multiple Text-on-Plane ABB's</h1>
<input type="submit" id="byBtn1" value="Continue" onclick="F_Continue()" />
<input type="submit" id="byBtn2" value="Pause" onclick="F_Pause()" />
<input type="text" id="myTextField" value="Pause" />
<br><br>
<!--- prevent_memory_leak -->
<input type="submit" id="byBtn3" value="Toggle_Prevent_Memory_Leak" onclick="F_Toggle_Prevent_Memory_Leak()" />
<input type="text" id="myTextField2" value="false" />
<div id="container"></div>
<!-- ***** For buttons *****
ensure jsfiddle has
javascript...load type = "no wrap - in body"
-->
CSS
body {
background-color: #0011;
margin: 0px;
overflow: hidden;
}
#container
{
height: 100%;
width: 100%;
min-height: 100%;
min-width: 100%;
}
JavaScript
// http://jsfiddle.net/steveow/w9wnzb60/
// *** Multiple Text on Plane's from canvas ***
// *** referenced by StackOverflow ***//
var camera, scene, renderer, clock, canvas1, context1;
var count = 0, xpos = 200, ypos = 0, zpos = 0, yDirection = 1, lastUpdateTime = 0;
var mode = 1;
var BB_Array = [];
var BB_1,BB_2,BB_3;
var lastUpdateTime=0;
var Continue_or_Pause = "Pause";
var prevent_memory_leak = false;
F_init();
F_animate();
//--------------------------------------------------------------------
function F_Toggle_Prevent_Memory_Leak()
{
if (prevent_memory_leak == true)
{prevent_memory_leak = false;
document.getElementById('myTextField2').value = "false";}
else
{prevent_memory_leak = true;
document.getElementById('myTextField2').value = "true";}
}
function F_init()
{
clock = new THREE.Clock();
scene = new THREE.Scene();
// CAMERA
camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 10000);
scene.add(camera);
camera.position.set ( -250, 0, 300 );
camera.lookAt( 0, 0, 0 );
// AMBIENT LIGHT
scene.add(new THREE.AmbientLight(0xffffff));
// BACKPLANE
bPlane = SOW_F_Get_A_Plane( scene, camera , pColor=0x0099aa, 0,0,-100, "Basic" );
bPlane.rotation.x = Math.PI/2;
scene.add(bPlane);
// RENDERER
renderer = new THREE.WebGLRenderer({antialias: true });
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.shadowMapEnabled = true;
renderer.shadowMapSoft = false;
//document.body.appendChild(renderer.domElement);
document.getElementById('container').appendChild( renderer.domElement );
// CONTROLS
controls = new THREE.OrbitControls( camera, renderer.domElement );
// INITIALIZE BB's
var xxx = SOW_F_grob_BB_Init_All();
}//... EOF F_init
//========================================================
function F_update()
{
if (Continue_or_Pause == "Continue")
{
var time = clock.getElapsedTime();
var deltaTsecs = time -...