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