@galacean/engine-shaderlab 1.6.4 → 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.js
CHANGED
|
@@ -7605,12 +7605,19 @@ SourceLexer._symbolLexemeTable = {
|
|
|
7605
7605
|
for(var i = 0, n = shaderSource.subShaders.length; i < n; i++){
|
|
7606
7606
|
var subShader = shaderSource.subShaders[i];
|
|
7607
7607
|
var curSubShaderGlobalStatements = shaderPendingContents.concat(subShader.pendingContents);
|
|
7608
|
-
var
|
|
7609
|
-
|
|
7608
|
+
var globalSubShaderStates = {
|
|
7609
|
+
constantMap: _extends({}, shaderRenderStates.constantMap),
|
|
7610
|
+
variableMap: _extends({}, shaderRenderStates.variableMap)
|
|
7611
|
+
};
|
|
7612
|
+
this._mergeRenderStates(globalSubShaderStates, subShader.renderStates);
|
|
7610
7613
|
for(var j = 0, m = subShader.passes.length; j < m; j++){
|
|
7611
7614
|
var pass = subShader.passes[j];
|
|
7612
|
-
|
|
7613
|
-
|
|
7615
|
+
var globalPassRenderStates = {
|
|
7616
|
+
constantMap: _extends({}, globalSubShaderStates.constantMap),
|
|
7617
|
+
variableMap: _extends({}, globalSubShaderStates.variableMap)
|
|
7618
|
+
};
|
|
7619
|
+
this._mergeRenderStates(globalPassRenderStates, pass.renderStates);
|
|
7620
|
+
pass.renderStates = globalPassRenderStates;
|
|
7614
7621
|
if (pass.isUsePass) continue;
|
|
7615
7622
|
var passGlobalStatements = curSubShaderGlobalStatements.concat(pass.pendingContents);
|
|
7616
7623
|
pass.contents = passGlobalStatements.map(function(item) {
|
|
@@ -7662,7 +7669,7 @@ SourceLexer._symbolLexemeTable = {
|
|
|
7662
7669
|
}
|
|
7663
7670
|
}
|
|
7664
7671
|
};
|
|
7665
|
-
ShaderSourceParser._parseRenderStateDeclarationOrAssignment = function _parseRenderStateDeclarationOrAssignment(
|
|
7672
|
+
ShaderSourceParser._parseRenderStateDeclarationOrAssignment = function _parseRenderStateDeclarationOrAssignment(outRenderStates, stateToken) {
|
|
7666
7673
|
var lexer = this._lexer;
|
|
7667
7674
|
var token = lexer.scanToken();
|
|
7668
7675
|
if (token.type === ETokenType.ID) {
|
|
@@ -7672,19 +7679,37 @@ SourceLexer._symbolLexemeTable = {
|
|
|
7672
7679
|
var symbol = new ShaderSourceSymbol(token.lexeme, stateToken.type, renderState);
|
|
7673
7680
|
this._symbolTableStack.insert(symbol);
|
|
7674
7681
|
} else if (token.lexeme === "=") {
|
|
7675
|
-
//
|
|
7676
|
-
var
|
|
7677
|
-
|
|
7678
|
-
|
|
7679
|
-
|
|
7680
|
-
|
|
7681
|
-
|
|
7682
|
-
|
|
7682
|
+
// Check if it's direct assignment syntax sugar or variable assignment
|
|
7683
|
+
var nextToken = lexer.scanToken();
|
|
7684
|
+
var renderState1;
|
|
7685
|
+
if (nextToken.lexeme === "{") {
|
|
7686
|
+
// Syntax: DepthState = { ... }
|
|
7687
|
+
renderState1 = this._parseRenderStateProperties(stateToken.lexeme);
|
|
7688
|
+
} else {
|
|
7689
|
+
// Syntax: DepthState = customDepthState;
|
|
7690
|
+
lexer.scanLexeme(";");
|
|
7691
|
+
var lookupSymbol = this._lookupSymbol;
|
|
7692
|
+
lookupSymbol.set(nextToken.lexeme, stateToken.type);
|
|
7693
|
+
var sm = this._symbolTableStack.lookup(lookupSymbol);
|
|
7694
|
+
if (!(sm == null ? void 0 : sm.value)) {
|
|
7695
|
+
this._createCompileError('Invalid "' + stateToken.lexeme + '" variable: ' + nextToken.lexeme, nextToken.location);
|
|
7696
|
+
}
|
|
7697
|
+
renderState1 = sm.value;
|
|
7683
7698
|
}
|
|
7684
|
-
|
|
7685
|
-
|
|
7686
|
-
|
|
7687
|
-
|
|
7699
|
+
this._mergeRenderStates(outRenderStates, renderState1);
|
|
7700
|
+
}
|
|
7701
|
+
};
|
|
7702
|
+
ShaderSourceParser._mergeRenderStates = function _mergeRenderStates(outTarget, source) {
|
|
7703
|
+
// For each key in the source, remove it from the opposite map in target to ensure proper override
|
|
7704
|
+
var targetConstantMap = outTarget.constantMap, targetVariableMap = outTarget.variableMap;
|
|
7705
|
+
var sourceConstantMap = source.constantMap, sourceVariableMap = source.variableMap;
|
|
7706
|
+
for(var key in sourceConstantMap){
|
|
7707
|
+
delete targetVariableMap[key];
|
|
7708
|
+
targetConstantMap[key] = sourceConstantMap[key];
|
|
7709
|
+
}
|
|
7710
|
+
for(var key1 in sourceVariableMap){
|
|
7711
|
+
delete targetConstantMap[key1];
|
|
7712
|
+
targetVariableMap[key1] = sourceVariableMap[key1];
|
|
7688
7713
|
}
|
|
7689
7714
|
};
|
|
7690
7715
|
ShaderSourceParser._parseVariableDeclaration = function _parseVariableDeclaration() {
|
|
@@ -8029,7 +8054,7 @@ ShaderLab._shaderPositionPool = ShaderLabUtils.createObjectPool(ShaderPosition);
|
|
|
8029
8054
|
ShaderLab._shaderRangePool = ShaderLabUtils.createObjectPool(ShaderRange);
|
|
8030
8055
|
|
|
8031
8056
|
//@ts-ignore
|
|
8032
|
-
var version = "1.6.
|
|
8057
|
+
var version = "1.6.6";
|
|
8033
8058
|
var mode = "Release";
|
|
8034
8059
|
console.log("Galacean Engine ShaderLab Version: " + version + " | Mode: " + mode);
|
|
8035
8060
|
|