UNPKG

glam

Version:

Experimental WebGL Engine

66 lines (48 loc) 1.98 kB
'use strict'; var _tape = require('tape'); var _tape2 = _interopRequireDefault(_tape); var _readPixel = require('../read-pixel'); var _readPixel2 = _interopRequireDefault(_readPixel); var _geo3dBox = require('geo-3d-box'); var _geo3dBox2 = _interopRequireDefault(_geo3dBox); var _lib = require('../../lib'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _tape2.default)("FogAugment Flat Augmentation", function (t) { var scene = (0, _lib.Scene)({ autoStart: false, renderer: (0, _lib.ForwardRenderer)({ autoResizeCanvas: false, width: 100, height: 100 }) }); var gl = scene.renderer.gl; var camera = (0, _lib.PerspectiveCamera)();camera.transform.position[2] = 20; var geometry = (0, _lib.Geometry)((0, _geo3dBox2.default)({ size: 5 })); var mesh; scene.add(camera); t.test("the red box is affected by dark fog", function (t) { t.plan(3); var material = (0, _lib.FogAugment)((0, _lib.FlatMaterial)({ color: [1, 0, 0] }), { near: 10, far: 30, color: [0, 0, 0] }); mesh = (0, _lib.Mesh)(geometry, material); mesh.transform.euler[1] = Math.PI * 0.25; scene.add(mesh); scene.render(camera); t.deepLooseEqual((0, _readPixel2.default)(gl, 50, 50), [169, 0, 0], "The center is mostly red"); t.deepLooseEqual((0, _readPixel2.default)(gl, 35, 50), [139, 0, 0], "The left is darker"); t.deepLooseEqual((0, _readPixel2.default)(gl, 65, 50), [137, 0, 0], "The right is darker"); }); t.test("the red box is affected by light fog", function (t) { t.plan(3); mesh.material.shading.fog.color = [1, 1, 1]; scene.render(camera); t.deepLooseEqual((0, _readPixel2.default)(gl, 50, 50), [255, 86, 86], "The center is mostly red"); t.deepLooseEqual((0, _readPixel2.default)(gl, 35, 50), [255, 116, 116], "The left is lighter"); t.deepLooseEqual((0, _readPixel2.default)(gl, 65, 50), [255, 118, 118], "The right is darker"); scene.renderer.destroy(); }); });