@galacean/engine-shaderlab 1.6.5 → 1.6.6
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 +43 -18
- 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 +44 -19
- 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 +43 -18
- package/dist/main.js.map +1 -1
- package/dist/main.verbose.js +44 -19
- package/dist/main.verbose.js.map +1 -1
- package/dist/module.js +43 -18
- package/dist/module.js.map +1 -1
- package/dist/module.verbose.js +44 -19
- package/dist/module.verbose.js.map +1 -1
- package/package.json +4 -4
package/dist/browser.verbose.js
CHANGED
|
@@ -8369,12 +8369,19 @@
|
|
|
8369
8369
|
for(var i = 0, n = shaderSource.subShaders.length; i < n; i++){
|
|
8370
8370
|
var subShader = shaderSource.subShaders[i];
|
|
8371
8371
|
var curSubShaderGlobalStatements = shaderPendingContents.concat(subShader.pendingContents);
|
|
8372
|
-
var
|
|
8373
|
-
|
|
8372
|
+
var globalSubShaderStates = {
|
|
8373
|
+
constantMap: _extends({}, shaderRenderStates.constantMap),
|
|
8374
|
+
variableMap: _extends({}, shaderRenderStates.variableMap)
|
|
8375
|
+
};
|
|
8376
|
+
this._mergeRenderStates(globalSubShaderStates, subShader.renderStates);
|
|
8374
8377
|
for(var j = 0, m = subShader.passes.length; j < m; j++){
|
|
8375
8378
|
var pass = subShader.passes[j];
|
|
8376
|
-
|
|
8377
|
-
|
|
8379
|
+
var globalPassRenderStates = {
|
|
8380
|
+
constantMap: _extends({}, globalSubShaderStates.constantMap),
|
|
8381
|
+
variableMap: _extends({}, globalSubShaderStates.variableMap)
|
|
8382
|
+
};
|
|
8383
|
+
this._mergeRenderStates(globalPassRenderStates, pass.renderStates);
|
|
8384
|
+
pass.renderStates = globalPassRenderStates;
|
|
8378
8385
|
if (pass.isUsePass) continue;
|
|
8379
8386
|
var passGlobalStatements = curSubShaderGlobalStatements.concat(pass.pendingContents);
|
|
8380
8387
|
pass.contents = passGlobalStatements.map(function(item) {
|
|
@@ -8426,7 +8433,7 @@
|
|
|
8426
8433
|
}
|
|
8427
8434
|
}
|
|
8428
8435
|
};
|
|
8429
|
-
ShaderSourceParser._parseRenderStateDeclarationOrAssignment = function _parseRenderStateDeclarationOrAssignment(
|
|
8436
|
+
ShaderSourceParser._parseRenderStateDeclarationOrAssignment = function _parseRenderStateDeclarationOrAssignment(outRenderStates, stateToken) {
|
|
8430
8437
|
var lexer = this._lexer;
|
|
8431
8438
|
var token = lexer.scanToken();
|
|
8432
8439
|
if (token.type === ETokenType.ID) {
|
|
@@ -8436,20 +8443,38 @@
|
|
|
8436
8443
|
var symbol = new ShaderSourceSymbol(token.lexeme, stateToken.type, renderState);
|
|
8437
8444
|
this._symbolTableStack.insert(symbol);
|
|
8438
8445
|
} else if (token.lexeme === "=") {
|
|
8439
|
-
//
|
|
8440
|
-
var
|
|
8441
|
-
|
|
8442
|
-
|
|
8443
|
-
|
|
8444
|
-
|
|
8445
|
-
|
|
8446
|
-
|
|
8447
|
-
|
|
8446
|
+
// Check if it's direct assignment syntax sugar or variable assignment
|
|
8447
|
+
var nextToken = lexer.scanToken();
|
|
8448
|
+
var renderState1;
|
|
8449
|
+
if (nextToken.lexeme === "{") {
|
|
8450
|
+
// Syntax: DepthState = { ... }
|
|
8451
|
+
renderState1 = this._parseRenderStateProperties(stateToken.lexeme);
|
|
8452
|
+
} else {
|
|
8453
|
+
// Syntax: DepthState = customDepthState;
|
|
8454
|
+
lexer.scanLexeme(";");
|
|
8455
|
+
var lookupSymbol = this._lookupSymbol;
|
|
8456
|
+
lookupSymbol.set(nextToken.lexeme, stateToken.type);
|
|
8457
|
+
var sm = this._symbolTableStack.lookup(lookupSymbol);
|
|
8458
|
+
if (!(sm == null ? void 0 : sm.value)) {
|
|
8459
|
+
this._createCompileError('Invalid "' + stateToken.lexeme + '" variable: ' + nextToken.lexeme, nextToken.location);
|
|
8460
|
+
return;
|
|
8461
|
+
}
|
|
8462
|
+
renderState1 = sm.value;
|
|
8448
8463
|
}
|
|
8449
|
-
|
|
8450
|
-
|
|
8451
|
-
|
|
8452
|
-
|
|
8464
|
+
this._mergeRenderStates(outRenderStates, renderState1);
|
|
8465
|
+
}
|
|
8466
|
+
};
|
|
8467
|
+
ShaderSourceParser._mergeRenderStates = function _mergeRenderStates(outTarget, source) {
|
|
8468
|
+
// For each key in the source, remove it from the opposite map in target to ensure proper override
|
|
8469
|
+
var targetConstantMap = outTarget.constantMap, targetVariableMap = outTarget.variableMap;
|
|
8470
|
+
var sourceConstantMap = source.constantMap, sourceVariableMap = source.variableMap;
|
|
8471
|
+
for(var key in sourceConstantMap){
|
|
8472
|
+
delete targetVariableMap[key];
|
|
8473
|
+
targetConstantMap[key] = sourceConstantMap[key];
|
|
8474
|
+
}
|
|
8475
|
+
for(var key1 in sourceVariableMap){
|
|
8476
|
+
delete targetConstantMap[key1];
|
|
8477
|
+
targetVariableMap[key1] = sourceVariableMap[key1];
|
|
8453
8478
|
}
|
|
8454
8479
|
};
|
|
8455
8480
|
ShaderSourceParser._parseVariableDeclaration = function _parseVariableDeclaration() {
|
|
@@ -8821,7 +8846,7 @@
|
|
|
8821
8846
|
ShaderLab._shaderRangePool = ShaderLabUtils.createObjectPool(ShaderRange);
|
|
8822
8847
|
|
|
8823
8848
|
//@ts-ignore
|
|
8824
|
-
var version = "1.6.
|
|
8849
|
+
var version = "1.6.6";
|
|
8825
8850
|
var mode = "Release";
|
|
8826
8851
|
mode = "Verbose";
|
|
8827
8852
|
console.log("Galacean Engine ShaderLab Version: " + version + " | Mode: " + mode);
|