glam
Version:
Experimental WebGL Engine
62 lines (42 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createFlatMaterial;
var _glShader = require('gl-shader');
var _glShader2 = _interopRequireDefault(_glShader);
var _flatSetUniforms = require('./flat-set-uniforms');
var _flatSetUniforms2 = _interopRequireDefault(_flatSetUniforms);
var _flatSetAttributes = require('./flat-set-attributes');
var _flatSetAttributes2 = _interopRequireDefault(_flatSetAttributes);
var _objectAssign = require('object-assign');
var _objectAssign2 = _interopRequireDefault(_objectAssign);
var _useAugment = require('../../augment/use-augment');
var _useAugment2 = _interopRequireDefault(_useAugment);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var fragSource = require('fs').readFileSync(__dirname + '/flat.built.frag', 'utf8'); // Browserify Transforms:
var vertSource = require('fs').readFileSync(__dirname + '/flat.built.vert', 'utf8');
function FlatMaterial(shadingConfig) {
this.flags = {
visible: true,
transparent: false,
recompile: true,
useLights: false
};
this.fragSource = fragSource;
this.vertSource = vertSource;
this.defines = ["CAMERA"];
this.shader = null;
this.mode = "TRIANGLES";
this.setUniforms = [_flatSetUniforms2.default];
this.setAttributes = [_flatSetAttributes2.default];
this.shading = shadingConfig;
this.use = _useAugment2.default.bind(null, this);
}
function createFlatMaterial(properties) {
var shadingConfig = (0, _objectAssign2.default)({
color: [0.1, 0.1, 0.1],
opacity: 1.0
}, properties);
return new FlatMaterial(shadingConfig);
}