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