@galacean/engine-shaderlab 1.6.5 → 1.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +46 -19
- package/dist/browser.js.map +1 -1
- package/dist/browser.min.js +1 -1
- package/dist/browser.min.js.map +1 -1
- package/dist/browser.verbose.js +47 -20
- package/dist/browser.verbose.js.map +1 -1
- package/dist/browser.verbose.min.js +1 -1
- package/dist/browser.verbose.min.js.map +1 -1
- package/dist/main.js +46 -19
- package/dist/main.js.map +1 -1
- package/dist/main.verbose.js +47 -20
- package/dist/main.verbose.js.map +1 -1
- package/dist/module.js +46 -19
- package/dist/module.js.map +1 -1
- package/dist/module.verbose.js +47 -20
- package/dist/module.verbose.js.map +1 -1
- package/package.json +4 -4
package/dist/module.verbose.js
CHANGED
|
@@ -5897,7 +5897,9 @@ var PpUtils = /*#__PURE__*/ function() {
|
|
|
5897
5897
|
generatedIdx = generatedIdxEnd;
|
|
5898
5898
|
}
|
|
5899
5899
|
ret.push(source.slice(startIdx));
|
|
5900
|
-
|
|
5900
|
+
var result = ret.join("");
|
|
5901
|
+
// Replace multiple consecutive newlines with a single newline to clean up the output
|
|
5902
|
+
return result.replace(/\n\s*\n+/g, "\n");
|
|
5901
5903
|
};
|
|
5902
5904
|
return PpUtils;
|
|
5903
5905
|
}();
|
|
@@ -8365,12 +8367,19 @@ SourceLexer._symbolLexemeTable = {
|
|
|
8365
8367
|
for(var i = 0, n = shaderSource.subShaders.length; i < n; i++){
|
|
8366
8368
|
var subShader = shaderSource.subShaders[i];
|
|
8367
8369
|
var curSubShaderGlobalStatements = shaderPendingContents.concat(subShader.pendingContents);
|
|
8368
|
-
var
|
|
8369
|
-
|
|
8370
|
+
var globalSubShaderStates = {
|
|
8371
|
+
constantMap: _extends({}, shaderRenderStates.constantMap),
|
|
8372
|
+
variableMap: _extends({}, shaderRenderStates.variableMap)
|
|
8373
|
+
};
|
|
8374
|
+
this._mergeRenderStates(globalSubShaderStates, subShader.renderStates);
|
|
8370
8375
|
for(var j = 0, m = subShader.passes.length; j < m; j++){
|
|
8371
8376
|
var pass = subShader.passes[j];
|
|
8372
|
-
|
|
8373
|
-
|
|
8377
|
+
var globalPassRenderStates = {
|
|
8378
|
+
constantMap: _extends({}, globalSubShaderStates.constantMap),
|
|
8379
|
+
variableMap: _extends({}, globalSubShaderStates.variableMap)
|
|
8380
|
+
};
|
|
8381
|
+
this._mergeRenderStates(globalPassRenderStates, pass.renderStates);
|
|
8382
|
+
pass.renderStates = globalPassRenderStates;
|
|
8374
8383
|
if (pass.isUsePass) continue;
|
|
8375
8384
|
var passGlobalStatements = curSubShaderGlobalStatements.concat(pass.pendingContents);
|
|
8376
8385
|
pass.contents = passGlobalStatements.map(function(item) {
|
|
@@ -8422,7 +8431,7 @@ SourceLexer._symbolLexemeTable = {
|
|
|
8422
8431
|
}
|
|
8423
8432
|
}
|
|
8424
8433
|
};
|
|
8425
|
-
ShaderSourceParser._parseRenderStateDeclarationOrAssignment = function _parseRenderStateDeclarationOrAssignment(
|
|
8434
|
+
ShaderSourceParser._parseRenderStateDeclarationOrAssignment = function _parseRenderStateDeclarationOrAssignment(outRenderStates, stateToken) {
|
|
8426
8435
|
var lexer = this._lexer;
|
|
8427
8436
|
var token = lexer.scanToken();
|
|
8428
8437
|
if (token.type === ETokenType.ID) {
|
|
@@ -8432,20 +8441,38 @@ SourceLexer._symbolLexemeTable = {
|
|
|
8432
8441
|
var symbol = new ShaderSourceSymbol(token.lexeme, stateToken.type, renderState);
|
|
8433
8442
|
this._symbolTableStack.insert(symbol);
|
|
8434
8443
|
} else if (token.lexeme === "=") {
|
|
8435
|
-
//
|
|
8436
|
-
var
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
|
|
8442
|
-
|
|
8443
|
-
|
|
8444
|
+
// Check if it's direct assignment syntax sugar or variable assignment
|
|
8445
|
+
var nextToken = lexer.scanToken();
|
|
8446
|
+
var renderState1;
|
|
8447
|
+
if (nextToken.lexeme === "{") {
|
|
8448
|
+
// Syntax: DepthState = { ... }
|
|
8449
|
+
renderState1 = this._parseRenderStateProperties(stateToken.lexeme);
|
|
8450
|
+
} else {
|
|
8451
|
+
// Syntax: DepthState = customDepthState;
|
|
8452
|
+
lexer.scanLexeme(";");
|
|
8453
|
+
var lookupSymbol = this._lookupSymbol;
|
|
8454
|
+
lookupSymbol.set(nextToken.lexeme, stateToken.type);
|
|
8455
|
+
var sm = this._symbolTableStack.lookup(lookupSymbol);
|
|
8456
|
+
if (!(sm == null ? void 0 : sm.value)) {
|
|
8457
|
+
this._createCompileError('Invalid "' + stateToken.lexeme + '" variable: ' + nextToken.lexeme, nextToken.location);
|
|
8458
|
+
return;
|
|
8459
|
+
}
|
|
8460
|
+
renderState1 = sm.value;
|
|
8444
8461
|
}
|
|
8445
|
-
|
|
8446
|
-
|
|
8447
|
-
|
|
8448
|
-
|
|
8462
|
+
this._mergeRenderStates(outRenderStates, renderState1);
|
|
8463
|
+
}
|
|
8464
|
+
};
|
|
8465
|
+
ShaderSourceParser._mergeRenderStates = function _mergeRenderStates(outTarget, source) {
|
|
8466
|
+
// For each key in the source, remove it from the opposite map in target to ensure proper override
|
|
8467
|
+
var targetConstantMap = outTarget.constantMap, targetVariableMap = outTarget.variableMap;
|
|
8468
|
+
var sourceConstantMap = source.constantMap, sourceVariableMap = source.variableMap;
|
|
8469
|
+
for(var key in sourceConstantMap){
|
|
8470
|
+
delete targetVariableMap[key];
|
|
8471
|
+
targetConstantMap[key] = sourceConstantMap[key];
|
|
8472
|
+
}
|
|
8473
|
+
for(var key1 in sourceVariableMap){
|
|
8474
|
+
delete targetConstantMap[key1];
|
|
8475
|
+
targetVariableMap[key1] = sourceVariableMap[key1];
|
|
8449
8476
|
}
|
|
8450
8477
|
};
|
|
8451
8478
|
ShaderSourceParser._parseVariableDeclaration = function _parseVariableDeclaration() {
|
|
@@ -8817,7 +8844,7 @@ ShaderLab._shaderPositionPool = ShaderLabUtils.createObjectPool(ShaderPosition);
|
|
|
8817
8844
|
ShaderLab._shaderRangePool = ShaderLabUtils.createObjectPool(ShaderRange);
|
|
8818
8845
|
|
|
8819
8846
|
//@ts-ignore
|
|
8820
|
-
var version = "1.6.
|
|
8847
|
+
var version = "1.6.7";
|
|
8821
8848
|
var mode = "Release";
|
|
8822
8849
|
mode = "Verbose";
|
|
8823
8850
|
console.log("Galacean Engine ShaderLab Version: " + version + " | Mode: " + mode);
|