glam
Version:
Experimental WebGL Engine
68 lines (46 loc) • 1.89 kB
JavaScript
;
var _tape = require('tape');
var _tape2 = _interopRequireDefault(_tape);
var _normals = require('normals');
var _normals2 = _interopRequireDefault(_normals);
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)("Normal Color Lit Material", 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)();
var box = (0, _geo3dBox2.default)({ size: 5 });
var geometry = (0, _lib.Geometry)(box);
var mesh;
var material = (0, _lib.NormalColorAugment)((0, _lib.LitMaterial)({ color: [1, 0, 0] }));
camera.transform.position[2] = 20;
mesh = (0, _lib.Mesh)(geometry, material);
scene.add(camera);
scene.add(mesh);
t.plan(5);
debugger;
mesh.transform.euler[1] = 0;
scene.render(camera);
t.deepLooseEqual((0, _readPixel2.default)(gl, 50, 50), [127, 127, 255], "The box's side is purplish1.");
mesh.transform.euler[1] = Math.PI * 0.25;
scene.render(camera);
t.deepLooseEqual((0, _readPixel2.default)(gl, 40, 50), [37, 127, 218], "The left is green");
t.deepLooseEqual((0, _readPixel2.default)(gl, 60, 50), [218, 127, 218], "The box's side is purplish2");
camera.transform.position[2] = -20;
camera.transform.euler[1] = Math.PI;
scene.render(camera);
t.deepLooseEqual((0, _readPixel2.default)(gl, 40, 50), [37, 127, 218], "The left is green");
t.deepLooseEqual((0, _readPixel2.default)(gl, 60, 50), [218, 127, 218], "The box's side is purplish3");
scene.renderer.destroy();
});