Add driver issue detector experiment.
This commit is contained in:
parent
50cc57b963
commit
86355ee168
81
sandbox/invalid_driver_detector.html
Normal file
81
sandbox/invalid_driver_detector.html
Normal file
@ -0,0 +1,81 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no">
|
||||
|
||||
<title>Online 3D Viewer</title>
|
||||
|
||||
<script type="text/javascript" src="../../libs/three.min-126.js"></script>
|
||||
<script type='text/javascript'>
|
||||
function HasHighpDriverIssue ()
|
||||
{
|
||||
let canvas = document.createElement ('canvas');
|
||||
document.body.appendChild (canvas);
|
||||
let parameters = {
|
||||
canvas : canvas,
|
||||
antialias : true
|
||||
};
|
||||
|
||||
let renderer = new THREE.WebGLRenderer (parameters);
|
||||
renderer.setClearColor ('#ffffff', 1);
|
||||
renderer.setSize (10, 10);
|
||||
|
||||
let scene = new THREE.Scene ();
|
||||
|
||||
let ambientLight = new THREE.AmbientLight (0x888888);
|
||||
scene.add (ambientLight);
|
||||
|
||||
let light = new THREE.DirectionalLight (0x888888);
|
||||
light.position.set (0.0, 0.0, 1.0);
|
||||
scene.add (light);
|
||||
|
||||
let camera = new THREE.PerspectiveCamera (45.0, 1.0, 0.1, 1000.0);
|
||||
camera.position.set (0.0, 0.0, 1.0);
|
||||
camera.up.set (0.0, 1.0, 0.0);
|
||||
camera.lookAt (new THREE.Vector3 (0.0, 0.0, 0.0));
|
||||
scene.add (camera);
|
||||
|
||||
let plane = new THREE.PlaneGeometry (1.0, 1.0);
|
||||
let mesh = new THREE.Mesh (plane, new THREE.MeshPhongMaterial ({
|
||||
color : 0xcc0000
|
||||
}));
|
||||
scene.add (mesh);
|
||||
renderer.render (scene, camera);
|
||||
|
||||
let context = renderer.getContext ();
|
||||
var pixels = new Uint8Array (4);
|
||||
context.readPixels(
|
||||
5, 5, 1, 1,
|
||||
context.RGBA,
|
||||
context.UNSIGNED_BYTE,
|
||||
pixels
|
||||
);
|
||||
|
||||
// TODO: remove
|
||||
let resultDiv = document.createElement ('div');
|
||||
document.body.appendChild (resultDiv);
|
||||
resultDiv.innerHTML = pixels;
|
||||
|
||||
document.body.removeChild (canvas);
|
||||
if (pixels[0] < 50 && pixels[1] < 50 && pixels[2] < 50) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
window.onload = function () {
|
||||
let hasIssue = HasHighpDriverIssue ();
|
||||
let resultDiv = document.createElement ('div');
|
||||
document.body.appendChild (resultDiv);
|
||||
resultDiv.innerHTML = hasIssue ? 'Invalid driver detected' : 'Everything is OK';
|
||||
};
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user