aframe
Version:
A web framework for building virtual reality experiences.
26 lines (22 loc) • 814 B
JavaScript
/**
* Common mesh defaults, mappings, and transforms.
*/
var components = require('../../core/component').components;
var shaders = require('../../core/shader').shaders;
var utils = require('../../utils/');
var materialMappings = {};
Object.keys(components.material.schema).forEach(addMapping);
Object.keys(shaders.standard.schema).forEach(addMapping);
function addMapping (prop) {
// To hyphenated.
var htmlAttrName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
if (prop === 'fog') { htmlAttrName = 'material-fog'; }
if (prop === 'visible') { htmlAttrName = 'material-visible'; }
materialMappings[htmlAttrName] = 'material.' + prop;
}
module.exports = function getMeshMixin () {
return {
defaultComponents: {material: {}},
mappings: utils.extend({}, materialMappings)
};
};