UNPKG

2.04 kBJavaScriptView Raw
1'use strict';
2
3var _tape = require('tape');
4
5var _tape2 = _interopRequireDefault(_tape);
6
7var _readPixel = require('../read-pixel');
8
9var _readPixel2 = _interopRequireDefault(_readPixel);
10
11var _geo3dBox = require('geo-3d-box');
12
13var _geo3dBox2 = _interopRequireDefault(_geo3dBox);
14
15var _lib = require('../../lib');
16
17function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19(0, _tape2.default)('FogAugment Flat Augmentation', function (t) {
20 var scene = (0, _lib.Scene)({
21 autoStart: false,
22 renderer: (0, _lib.ForwardRenderer)({
23 autoResizeCanvas: false,
24 width: 100,
25 height: 100
26 })
27 });
28 var gl = scene.renderer.gl;
29 var camera = (0, _lib.PerspectiveCamera)();
30 camera.position[2] = 20;
31 var geometry = (0, _lib.Geometry)((0, _geo3dBox2.default)({ size: 5 }));
32 var mesh;
33
34 scene.add(camera);
35
36 t.test('the red box is affected by dark fog', function (t) {
37 t.plan(3);
38
39 var material = (0, _lib.FogAugment)((0, _lib.FlatMaterial)({ color: [1, 0, 0] }), {
40 near: 10,
41 far: 30,
42 color: [0, 0, 0]
43 });
44 mesh = (0, _lib.Mesh)(geometry, material);
45 mesh.transform.euler[1] = Math.PI * 0.25;
46 scene.add(mesh);
47 scene.render(camera);
48
49 t.deepLooseEqual((0, _readPixel2.default)(gl, 50, 50), [169, 0, 0], 'The center is mostly red');
50 t.deepLooseEqual((0, _readPixel2.default)(gl, 35, 50), [139, 0, 0], 'The left is darker');
51 t.deepLooseEqual((0, _readPixel2.default)(gl, 65, 50), [137, 0, 0], 'The right is darker');
52 });
53
54 t.test('the red box is affected by light fog', function (t) {
55 t.plan(3);
56
57 mesh.material.shading.fog.color = [1, 1, 1];
58 scene.render(camera);
59
60 t.deepLooseEqual((0, _readPixel2.default)(gl, 50, 50), [255, 86, 86], 'The center is mostly red');
61 t.deepLooseEqual((0, _readPixel2.default)(gl, 35, 50), [255, 116, 116], 'The left is lighter');
62 t.deepLooseEqual((0, _readPixel2.default)(gl, 65, 50), [255, 118, 118], 'The right is darker');
63
64 scene.renderer.destroy();
65 });
66});
\No newline at end of file