Skip to content

Commit 8c3226d

Browse files
committed
New shader bundler script
1 parent bf17d06 commit 8c3226d

3 files changed

Lines changed: 101 additions & 0 deletions

File tree

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"lintfix": "eslint --config .eslintrc.json \"src/**/*.js\" --fix",
4444
"sloc": "node-sloc \"./src\" --include-extensions \"js\"",
4545
"bundleshaders": "node scripts/bundle-shaders.js",
46+
"bundle3dshaders": "node scripts/bundle-layer3d-shaders.js",
4647
"build-tsgen": "cd scripts/tsgen && tsc",
4748
"tsgen": "cd scripts/tsgen && jsdoc -c jsdoc-tsd.conf.json",
4849
"test-ts": "cd scripts/tsgen/test && tsc --build tsconfig.json > output.txt",

scripts/bundle-layer3d-shaders.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
let fs = require('fs-extra');
2+
3+
let srcdir = './src/layer3d/shaders/chunks/glsl/';
4+
let destdir = './src/layer3d/shaders/chunks/';
5+
6+
let files = fs.readdirSync(srcdir);
7+
8+
files.forEach(function (file) {
9+
10+
let shaderSource = fs.readFileSync(srcdir + file, 'utf8');
11+
let shaderFilename = file.substr(0, file.lastIndexOf('.')) + '.js';
12+
13+
let outputSource = 'module.exports = [\n';
14+
15+
let lines = shaderSource.split('\n');
16+
17+
for (var i = 0; i < lines.length; i++)
18+
{
19+
let line = lines[i].trimRight();
20+
21+
if (i < lines.length - 1)
22+
{
23+
outputSource = outputSource.concat(" '" + line + "',\n");
24+
}
25+
else
26+
{
27+
outputSource = outputSource.concat(" '" + line + "'\n");
28+
}
29+
}
30+
31+
outputSource = outputSource.concat('].join(\'\\n\');\n');
32+
33+
fs.writeFile(destdir + shaderFilename, outputSource, function (error) {
34+
35+
if (error)
36+
{
37+
throw error;
38+
}
39+
else
40+
{
41+
console.log('Saved', shaderFilename);
42+
}
43+
44+
});
45+
46+
});

src/layer3d/shaders/libs/Basic.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
var ShaderChunk = require('../ShaderChunk');
2+
3+
var Basic = {
4+
5+
frag: [
6+
7+
ShaderChunk.commonFrag,
8+
ShaderChunk.uvParsFrag,
9+
ShaderChunk.colorParsFrag,
10+
ShaderChunk.diffuseMapParsFrag,
11+
ShaderChunk.alphamapParsFrag,
12+
ShaderChunk.envMapParsFrag,
13+
ShaderChunk.aoMapParsFrag,
14+
ShaderChunk.fogParsFrag,
15+
16+
ShaderChunk.main,
17+
18+
ShaderChunk.beginFrag,
19+
ShaderChunk.colorFrag,
20+
ShaderChunk.diffuseMapFrag,
21+
ShaderChunk.alphamapFrag,
22+
ShaderChunk.alphaTestFrag,
23+
ShaderChunk.envMapFrag,
24+
ShaderChunk.endFrag,
25+
ShaderChunk.encodingsFrag,
26+
ShaderChunk.premultipliedAlphaFrag,
27+
ShaderChunk.fogFrag
28+
29+
],
30+
31+
vert: [
32+
33+
ShaderChunk.commonVert,
34+
ShaderChunk.uvParsVert,
35+
ShaderChunk.colorParsVert,
36+
ShaderChunk.envMapParsVert,
37+
ShaderChunk.morphtargetParsVert,
38+
ShaderChunk.skinningParsVert,
39+
40+
ShaderChunk.main,
41+
42+
ShaderChunk.beginVert,
43+
ShaderChunk.morphtargetVert,
44+
ShaderChunk.skinningVert,
45+
ShaderChunk.pvmVert,
46+
ShaderChunk.uvVert,
47+
ShaderChunk.colorVert,
48+
ShaderChunk.envMapVert
49+
50+
]
51+
52+
};
53+
54+
module.exports = Basic;

0 commit comments

Comments
 (0)