@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/main.verbose.js
CHANGED
|
@@ -5901,7 +5901,9 @@ var PpUtils = /*#__PURE__*/ function() {
|
|
|
5901
5901
|
generatedIdx = generatedIdxEnd;
|
|
5902
5902
|
}
|
|
5903
5903
|
ret.push(source.slice(startIdx));
|
|
5904
|
-
|
|
5904
|
+
var result = ret.join("");
|
|
5905
|
+
// Replace multiple consecutive newlines with a single newline to clean up the output
|
|
5906
|
+
return result.replace(/\n\s*\n+/g, "\n");
|
|
5905
5907
|
};
|
|
5906
5908
|
return PpUtils;
|
|
5907
5909
|
}();
|
|
@@ -8369,12 +8371,19 @@ SourceLexer._symbolLexemeTable = {
|
|
|
8369
8371
|
for(var i = 0, n = shaderSource.subShaders.length; i < n; i++){
|
|
8370
8372
|
var subShader = shaderSource.subShaders[i];
|
|
8371
8373
|
var curSubShaderGlobalStatements = shaderPendingContents.concat(subShader.pendingContents);
|
|
8372
|
-
var
|
|
8373
|
-
|
|
8374
|
+
var globalSubShaderStates = {
|
|
8375
|
+
constantMap: _extends({}, shaderRenderStates.constantMap),
|
|
8376
|
+
variableMap: _extends({}, shaderRenderStates.variableMap)
|
|
8377
|
+
};
|
|
8378
|
+
this._mergeRenderStates(globalSubShaderStates, subShader.renderStates);
|
|
8374
8379
|
for(var j = 0, m = subShader.passes.length; j < m; j++){
|
|
8375
8380
|
var pass = subShader.passes[j];
|
|
8376
|
-
|
|
8377
|
-
|
|
8381
|
+
var globalPassRenderStates = {
|
|
8382
|
+
constantMap: _extends({}, globalSubShaderStates.constantMap),
|
|
8383
|
+
variableMap: _extends({}, globalSubShaderStates.variableMap)
|
|
8384
|
+
};
|
|
8385
|
+
this._mergeRenderStates(globalPassRenderStates, pass.renderStates);
|
|
8386
|
+
pass.renderStates = globalPassRenderStates;
|
|
8378
8387
|
if (pass.isUsePass) continue;
|
|
8379
8388
|
var passGlobalStatements = curSubShaderGlobalStatements.concat(pass.pendingContents);
|
|
8380
8389
|
pass.contents = passGlobalStatements.map(function(item) {
|
|
@@ -8426,7 +8435,7 @@ SourceLexer._symbolLexemeTable = {
|
|
|
8426
8435
|
}
|
|
8427
8436
|
}
|
|
8428
8437
|
};
|
|
8429
|
-
ShaderSourceParser._parseRenderStateDeclarationOrAssignment = function _parseRenderStateDeclarationOrAssignment(
|
|
8438
|
+
ShaderSourceParser._parseRenderStateDeclarationOrAssignment = function _parseRenderStateDeclarationOrAssignment(outRenderStates, stateToken) {
|
|
8430
8439
|
var lexer = this._lexer;
|
|
8431
8440
|
var token = lexer.scanToken();
|
|
8432
8441
|
if (token.type === ETokenType.ID) {
|
|
@@ -8436,20 +8445,38 @@ SourceLexer._symbolLexemeTable = {
|
|
|
8436
8445
|
var symbol = new ShaderSourceSymbol(token.lexeme, stateToken.type, renderState);
|
|
8437
8446
|
this._symbolTableStack.insert(symbol);
|
|
8438
8447
|
} else if (token.lexeme === "=") {
|
|
8439
|
-
//
|
|
8440
|
-
var
|
|
8441
|
-
|
|
8442
|
-
|
|
8443
|
-
|
|
8444
|
-
|
|
8445
|
-
|
|
8446
|
-
|
|
8447
|
-
|
|
8448
|
+
// Check if it's direct assignment syntax sugar or variable assignment
|
|
8449
|
+
var nextToken = lexer.scanToken();
|
|
8450
|
+
var renderState1;
|
|
8451
|
+
if (nextToken.lexeme === "{") {
|
|
8452
|
+
// Syntax: DepthState = { ... }
|
|
8453
|
+
renderState1 = this._parseRenderStateProperties(stateToken.lexeme);
|
|
8454
|
+
} else {
|
|
8455
|
+
// Syntax: DepthState = customDepthState;
|
|
8456
|
+
lexer.scanLexeme(";");
|
|
8457
|
+
var lookupSymbol = this._lookupSymbol;
|
|
8458
|
+
lookupSymbol.set(nextToken.lexeme, stateToken.type);
|
|
8459
|
+
var sm = this._symbolTableStack.lookup(lookupSymbol);
|
|
8460
|
+
if (!(sm == null ? void 0 : sm.value)) {
|
|
8461
|
+
this._createCompileError('Invalid "' + stateToken.lexeme + '" variable: ' + nextToken.lexeme, nextToken.location);
|
|
8462
|
+
return;
|
|
8463
|
+
}
|
|
8464
|
+
renderState1 = sm.value;
|
|
8448
8465
|
}
|
|
8449
|
-
|
|
8450
|
-
|
|
8451
|
-
|
|
8452
|
-
|
|
8466
|
+
this._mergeRenderStates(outRenderStates, renderState1);
|
|
8467
|
+
}
|
|
8468
|
+
};
|
|
8469
|
+
ShaderSourceParser._mergeRenderStates = function _mergeRenderStates(outTarget, source) {
|
|
8470
|
+
// For each key in the source, remove it from the opposite map in target to ensure proper override
|
|
8471
|
+
var targetConstantMap = outTarget.constantMap, targetVariableMap = outTarget.variableMap;
|
|
8472
|
+
var sourceConstantMap = source.constantMap, sourceVariableMap = source.variableMap;
|
|
8473
|
+
for(var key in sourceConstantMap){
|
|
8474
|
+
delete targetVariableMap[key];
|
|
8475
|
+
targetConstantMap[key] = sourceConstantMap[key];
|
|
8476
|
+
}
|
|
8477
|
+
for(var key1 in sourceVariableMap){
|
|
8478
|
+
delete targetConstantMap[key1];
|
|
8479
|
+
targetVariableMap[key1] = sourceVariableMap[key1];
|
|
8453
8480
|
}
|
|
8454
8481
|
};
|
|
8455
8482
|
ShaderSourceParser._parseVariableDeclaration = function _parseVariableDeclaration() {
|
|
@@ -8821,7 +8848,7 @@ ShaderLab._shaderPositionPool = ShaderLabUtils.createObjectPool(ShaderPosition);
|
|
|
8821
8848
|
ShaderLab._shaderRangePool = ShaderLabUtils.createObjectPool(ShaderRange);
|
|
8822
8849
|
|
|
8823
8850
|
//@ts-ignore
|
|
8824
|
-
var version = "1.6.
|
|
8851
|
+
var version = "1.6.7";
|
|
8825
8852
|
var mode = "Release";
|
|
8826
8853
|
mode = "Verbose";
|
|
8827
8854
|
console.log("Galacean Engine ShaderLab Version: " + version + " | Mode: " + mode);
|