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