1 | 'use strict';
|
2 |
|
3 | var _tape = require('tape');
|
4 |
|
5 | var _tape2 = _interopRequireDefault(_tape);
|
6 |
|
7 | var _readPixel = require('../read-pixel');
|
8 |
|
9 | var _readPixel2 = _interopRequireDefault(_readPixel);
|
10 |
|
11 | var _geo3dBox = require('geo-3d-box');
|
12 |
|
13 | var _geo3dBox2 = _interopRequireDefault(_geo3dBox);
|
14 |
|
15 | var _lib = require('../../lib');
|
16 |
|
17 | function _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 |