From 09816c80cf8db8bfaa22abf9ebdc94c6f0df9c1f Mon Sep 17 00:00:00 2001 From: "Diego F. Goberna" Date: Wed, 5 Dec 2018 02:03:42 +0100 Subject: [PATCH] constant colors logic --- src/assets.html | 40 ++++++++++++++++++------------------- src/components/materials.js | 19 ++++++++---------- src/constants/colors.js | 17 ++++++++++++++++ webpack.config.js | 2 ++ 4 files changed, 47 insertions(+), 31 deletions(-) create mode 100644 src/constants/colors.js diff --git a/src/assets.html b/src/assets.html index 8c292af..d70a84b 100644 --- a/src/assets.html +++ b/src/assets.html @@ -159,33 +159,33 @@ diff --git a/src/components/materials.js b/src/components/materials.js index 1bfa332..86b4a6a 100644 --- a/src/components/materials.js +++ b/src/components/materials.js @@ -1,15 +1,12 @@ -const stageNormalShaders = require('../../assets/shaders/stageNormal.js') -const stageAdditiveShaders = require('../../assets/shaders/stageAdditive.js') +const stageNormalShaders = require('../../assets/shaders/stageNormal.js'); +const stageAdditiveShaders = require('../../assets/shaders/stageAdditive.js'); +const COLORS = require('../constants/colors.js'); AFRAME.registerSystem('materials', { init: function () { - this.black = new THREE.MeshLambertMaterial({color: 0x000000, flatShading: true}); - this.default = new THREE.MeshLambertMaterial({color: 0xff0000, flatShading: true}); - this.neon = new THREE.MeshBasicMaterial({color: 0x9999ff, fog: false}); - this.stageNormal = new THREE.ShaderMaterial({ uniforms: { - color: {value: new THREE.Vector3(0, 0.48, 0.72)}, + color: {value: new THREE.Color(COLORS.BG_BLUE)}, src: {value: new THREE.TextureLoader().load(document.getElementById('atlasImg').src)}, }, vertexShader: stageNormalShaders.vertexShader, @@ -20,10 +17,10 @@ AFRAME.registerSystem('materials', { this.stageAdditive = new THREE.ShaderMaterial({ uniforms: { - tunnelNeon: {value: new THREE.Vector3(0, 0, 1)}, - floorNeon: {value: new THREE.Vector3(0, 0, 1)}, - leftLaser: {value: new THREE.Vector3(0, 0, 1)}, - rightLaser: {value: new THREE.Vector3(0, 0, 1)}, + tunnelNeon: {value: new THREE.Color(COLORS.NEON_BLUE)}, + floorNeon: {value: new THREE.Color(COLORS.NEON_BLUE)}, + leftLaser: {value: new THREE.Color(COLORS.NEON_BLUE)}, + rightLaser: {value: new THREE.Color(COLORS.NEON_BLUE)}, src: {value: new THREE.TextureLoader().load(document.getElementById('atlasImg').src)}, }, vertexShader: stageAdditiveShaders.vertexShader, diff --git a/src/constants/colors.js b/src/constants/colors.js new file mode 100644 index 0000000..047ac7f --- /dev/null +++ b/src/constants/colors.js @@ -0,0 +1,17 @@ +module.exports = { + OFF: '#111', + RED: '#f00', + BLUE: '#00f', + + BG_OFF: '#222', + BG_BLUE: '#007AB8', + BG_BRIGHTBLUE: '#5FCCFF', + BG_RED: '#B80000', + BG_BRIGHTRED: '#FF4343', + + NEON_OFF: '#000', + NEON_BLUE: '#00f', + NEON_BRIGHTBLUE: '#aaf', + NEON_RED: '#f00', + NEON_BRIGHTRED: '#faa', +}; diff --git a/webpack.config.js b/webpack.config.js index c811db0..0665ece 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -5,6 +5,7 @@ var htmlMinify = require('html-minifier').minify; var ip = require('ip'); var path = require('path'); var webpack = require('webpack'); +const COLORS = require('./src/constants/colors.js'); // Set up templating. var nunjucks = Nunjucks.configure(path.resolve(__dirname, 'src'), { @@ -14,6 +15,7 @@ nunjucks.addGlobal('DEBUG_AFRAME', !!process.env.DEBUG_AFRAME); nunjucks.addGlobal('DEBUG_KEYBOARD', !!process.env.DEBUG_KEYBOARD); nunjucks.addGlobal('HOST', ip.address()); nunjucks.addGlobal('IS_PRODUCTION', process.env.NODE_ENV === 'production'); +nunjucks.addGlobal('COLORS', COLORS); // Initial Nunjucks render. fs.writeFileSync('index.html', nunjucks.render('index.html'));