@galacean/engine-shaderlab 2.0.0-alpha.1 → 2.0.0-alpha.5
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 +79 -42
- 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 +83 -44
- 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 +79 -42
- package/dist/main.js.map +1 -1
- package/dist/main.verbose.js +83 -44
- package/dist/main.verbose.js.map +1 -1
- package/dist/module.js +80 -43
- package/dist/module.js.map +1 -1
- package/dist/module.verbose.js +84 -45
- package/dist/module.verbose.js.map +1 -1
- package/package.json +4 -4
- package/types/common/enums/Keyword.d.ts +34 -32
package/dist/browser.js
CHANGED
|
@@ -301,40 +301,42 @@
|
|
|
301
301
|
Keyword[Keyword["LeftBrace"] = 71] = "LeftBrace";
|
|
302
302
|
Keyword[Keyword["RightBrace"] = 72] = "RightBrace";
|
|
303
303
|
Keyword[Keyword["Equal"] = 73] = "Equal";
|
|
304
|
+
Keyword[Keyword["BitwiseOr"] = 74] = "BitwiseOr";
|
|
304
305
|
// Source Parser Tokens
|
|
305
|
-
Keyword[Keyword["GSRenderQueueType"] =
|
|
306
|
-
Keyword[Keyword["GSBlendState"] =
|
|
307
|
-
Keyword[Keyword["GSDepthState"] =
|
|
308
|
-
Keyword[Keyword["GSStencilState"] =
|
|
309
|
-
Keyword[Keyword["GSRasterState"] =
|
|
310
|
-
Keyword[Keyword["GSEditorProperties"] =
|
|
311
|
-
Keyword[Keyword["GSEditorMacros"] =
|
|
312
|
-
Keyword[Keyword["GSEditor"] =
|
|
313
|
-
Keyword[Keyword["GSTags"] =
|
|
314
|
-
Keyword[Keyword["GSVertexShader"] =
|
|
315
|
-
Keyword[Keyword["GSFragmentShader"] =
|
|
316
|
-
Keyword[Keyword["GSSubShader"] =
|
|
317
|
-
Keyword[Keyword["GSPass"] =
|
|
318
|
-
Keyword[Keyword["GSBlendFactor"] =
|
|
319
|
-
Keyword[Keyword["GSBlendOperation"] =
|
|
320
|
-
Keyword[Keyword["GSBool"] =
|
|
321
|
-
Keyword[Keyword["GSNumber"] =
|
|
322
|
-
Keyword[Keyword["GSColor"] =
|
|
323
|
-
Keyword[Keyword["GSCompareFunction"] =
|
|
324
|
-
Keyword[Keyword["GSStencilOperation"] =
|
|
325
|
-
Keyword[Keyword["GSCullMode"] =
|
|
326
|
-
Keyword[Keyword["
|
|
306
|
+
Keyword[Keyword["GSRenderQueueType"] = 75] = "GSRenderQueueType";
|
|
307
|
+
Keyword[Keyword["GSBlendState"] = 76] = "GSBlendState";
|
|
308
|
+
Keyword[Keyword["GSDepthState"] = 77] = "GSDepthState";
|
|
309
|
+
Keyword[Keyword["GSStencilState"] = 78] = "GSStencilState";
|
|
310
|
+
Keyword[Keyword["GSRasterState"] = 79] = "GSRasterState";
|
|
311
|
+
Keyword[Keyword["GSEditorProperties"] = 80] = "GSEditorProperties";
|
|
312
|
+
Keyword[Keyword["GSEditorMacros"] = 81] = "GSEditorMacros";
|
|
313
|
+
Keyword[Keyword["GSEditor"] = 82] = "GSEditor";
|
|
314
|
+
Keyword[Keyword["GSTags"] = 83] = "GSTags";
|
|
315
|
+
Keyword[Keyword["GSVertexShader"] = 84] = "GSVertexShader";
|
|
316
|
+
Keyword[Keyword["GSFragmentShader"] = 85] = "GSFragmentShader";
|
|
317
|
+
Keyword[Keyword["GSSubShader"] = 86] = "GSSubShader";
|
|
318
|
+
Keyword[Keyword["GSPass"] = 87] = "GSPass";
|
|
319
|
+
Keyword[Keyword["GSBlendFactor"] = 88] = "GSBlendFactor";
|
|
320
|
+
Keyword[Keyword["GSBlendOperation"] = 89] = "GSBlendOperation";
|
|
321
|
+
Keyword[Keyword["GSBool"] = 90] = "GSBool";
|
|
322
|
+
Keyword[Keyword["GSNumber"] = 91] = "GSNumber";
|
|
323
|
+
Keyword[Keyword["GSColor"] = 92] = "GSColor";
|
|
324
|
+
Keyword[Keyword["GSCompareFunction"] = 93] = "GSCompareFunction";
|
|
325
|
+
Keyword[Keyword["GSStencilOperation"] = 94] = "GSStencilOperation";
|
|
326
|
+
Keyword[Keyword["GSCullMode"] = 95] = "GSCullMode";
|
|
327
|
+
Keyword[Keyword["GSColorWriteMask"] = 96] = "GSColorWriteMask";
|
|
328
|
+
Keyword[Keyword["GSUsePass"] = 97] = "GSUsePass";
|
|
327
329
|
// Macros
|
|
328
|
-
Keyword[Keyword["MACRO_IF"] =
|
|
329
|
-
Keyword[Keyword["MACRO_IFDEF"] =
|
|
330
|
-
Keyword[Keyword["MACRO_IFNDEF"] =
|
|
331
|
-
Keyword[Keyword["MACRO_ELSE"] =
|
|
332
|
-
Keyword[Keyword["MACRO_ELIF"] =
|
|
333
|
-
Keyword[Keyword["MACRO_ENDIF"] =
|
|
334
|
-
Keyword[Keyword["MACRO_UNDEF"] =
|
|
335
|
-
Keyword[Keyword["MACRO_DEFINE_EXPRESSION"] =
|
|
336
|
-
Keyword[Keyword["MACRO_CONDITIONAL_EXPRESSION"] =
|
|
337
|
-
Keyword[Keyword["MACRO_CALL"] =
|
|
330
|
+
Keyword[Keyword["MACRO_IF"] = 98] = "MACRO_IF";
|
|
331
|
+
Keyword[Keyword["MACRO_IFDEF"] = 99] = "MACRO_IFDEF";
|
|
332
|
+
Keyword[Keyword["MACRO_IFNDEF"] = 100] = "MACRO_IFNDEF";
|
|
333
|
+
Keyword[Keyword["MACRO_ELSE"] = 101] = "MACRO_ELSE";
|
|
334
|
+
Keyword[Keyword["MACRO_ELIF"] = 102] = "MACRO_ELIF";
|
|
335
|
+
Keyword[Keyword["MACRO_ENDIF"] = 103] = "MACRO_ENDIF";
|
|
336
|
+
Keyword[Keyword["MACRO_UNDEF"] = 104] = "MACRO_UNDEF";
|
|
337
|
+
Keyword[Keyword["MACRO_DEFINE_EXPRESSION"] = 105] = "MACRO_DEFINE_EXPRESSION";
|
|
338
|
+
Keyword[Keyword["MACRO_CONDITIONAL_EXPRESSION"] = 106] = "MACRO_CONDITIONAL_EXPRESSION";
|
|
339
|
+
Keyword[Keyword["MACRO_CALL"] = 107] = "MACRO_CALL";
|
|
338
340
|
return Keyword;
|
|
339
341
|
}({});
|
|
340
342
|
|
|
@@ -7544,7 +7546,8 @@
|
|
|
7544
7546
|
charCode === 59 || // ;
|
|
7545
7547
|
charCode === 46 || // . CullMode.Back
|
|
7546
7548
|
charCode === 91 || // [ Enabled[0],
|
|
7547
|
-
charCode === 40 // ( Color(1.0, 1.0, 1.0, 1.0);
|
|
7549
|
+
charCode === 40 || // ( Color(1.0, 1.0, 1.0, 1.0);
|
|
7550
|
+
charCode === 124 // | ColorWriteMask.Red | ColorWriteMask.Green
|
|
7548
7551
|
;
|
|
7549
7552
|
};
|
|
7550
7553
|
SourceLexer._scanDigits = function _scanDigits(source, startIndex) {
|
|
@@ -7583,6 +7586,7 @@
|
|
|
7583
7586
|
CompareFunction: Keyword.GSCompareFunction,
|
|
7584
7587
|
StencilOperation: Keyword.GSStencilOperation,
|
|
7585
7588
|
CullMode: Keyword.GSCullMode,
|
|
7589
|
+
ColorWriteMask: Keyword.GSColorWriteMask,
|
|
7586
7590
|
UsePass: Keyword.GSUsePass,
|
|
7587
7591
|
true: Keyword.True,
|
|
7588
7592
|
false: Keyword.False
|
|
@@ -7590,7 +7594,8 @@
|
|
|
7590
7594
|
SourceLexer._symbolLexemeTable = {
|
|
7591
7595
|
"{": Keyword.LeftBrace,
|
|
7592
7596
|
"}": Keyword.RightBrace,
|
|
7593
|
-
"=": Keyword.Equal
|
|
7597
|
+
"=": Keyword.Equal,
|
|
7598
|
+
"|": Keyword.BitwiseOr
|
|
7594
7599
|
};
|
|
7595
7600
|
|
|
7596
7601
|
/**
|
|
@@ -7745,6 +7750,17 @@
|
|
|
7745
7750
|
ShaderSourceParser._createCompileError = function _createCompileError(message, location) {
|
|
7746
7751
|
this._lexer.createCompileError(message, location);
|
|
7747
7752
|
};
|
|
7753
|
+
ShaderSourceParser._scanEnumConstValue = function _scanEnumConstValue(enumName) {
|
|
7754
|
+
var _this__renderStateConstMap_enumName;
|
|
7755
|
+
var lexer = this._lexer;
|
|
7756
|
+
lexer.advance(1);
|
|
7757
|
+
var constValueToken = lexer.scanToken();
|
|
7758
|
+
var value = (_this__renderStateConstMap_enumName = this._renderStateConstMap[enumName]) == null ? void 0 : _this__renderStateConstMap_enumName[constValueToken.lexeme];
|
|
7759
|
+
if (value == undefined) {
|
|
7760
|
+
this._createCompileError("Invalid engine constant: " + enumName + "." + constValueToken.lexeme, constValueToken.location);
|
|
7761
|
+
}
|
|
7762
|
+
return value;
|
|
7763
|
+
};
|
|
7748
7764
|
ShaderSourceParser._parseRenderStateProperty = function _parseRenderStateProperty(stateLexeme, out) {
|
|
7749
7765
|
var lexer = this._lexer;
|
|
7750
7766
|
var propertyToken = lexer.scanToken();
|
|
@@ -7784,12 +7800,31 @@
|
|
|
7784
7800
|
} else if (valueTokenType === Keyword.GSColor) {
|
|
7785
7801
|
propertyValue = lexer.scanColor();
|
|
7786
7802
|
} else if (lexer.getCurChar() === ".") {
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
if (
|
|
7792
|
-
|
|
7803
|
+
propertyValue = this._scanEnumConstValue(valueToken.lexeme);
|
|
7804
|
+
if (propertyValue == undefined) return;
|
|
7805
|
+
// Support bitwise OR only for bitmask enums (e.g. ColorWriteMask)
|
|
7806
|
+
lexer.skipCommentsAndSpace();
|
|
7807
|
+
if (lexer.getCurChar() === "|") {
|
|
7808
|
+
if (valueToken.lexeme !== "ColorWriteMask") {
|
|
7809
|
+
this._createCompileError("Bitwise OR '|' is not supported for '" + valueToken.lexeme + "', only bitmask enums like 'ColorWriteMask' support this", valueToken.location);
|
|
7810
|
+
return;
|
|
7811
|
+
}
|
|
7812
|
+
while(lexer.getCurChar() === "|"){
|
|
7813
|
+
lexer.advance(1);
|
|
7814
|
+
var nextEnumToken = lexer.scanToken();
|
|
7815
|
+
if (nextEnumToken == undefined || lexer.getCurChar() !== ".") {
|
|
7816
|
+
this._createCompileError("Invalid syntax after '|', expect 'EnumType.Value'", nextEnumToken == null ? void 0 : nextEnumToken.location);
|
|
7817
|
+
return;
|
|
7818
|
+
}
|
|
7819
|
+
if (nextEnumToken.lexeme !== valueToken.lexeme) {
|
|
7820
|
+
this._createCompileError("Cannot mix enum types in bitwise OR: expected '" + valueToken.lexeme + "' but got '" + nextEnumToken.lexeme + "'", nextEnumToken.location);
|
|
7821
|
+
return;
|
|
7822
|
+
}
|
|
7823
|
+
var nextValue = this._scanEnumConstValue(nextEnumToken.lexeme);
|
|
7824
|
+
if (nextValue == undefined) return;
|
|
7825
|
+
propertyValue = propertyValue | nextValue;
|
|
7826
|
+
lexer.skipCommentsAndSpace();
|
|
7827
|
+
}
|
|
7793
7828
|
}
|
|
7794
7829
|
} else {
|
|
7795
7830
|
propertyValue = valueToken.lexeme;
|
|
@@ -7977,6 +8012,7 @@
|
|
|
7977
8012
|
case Keyword.GSCompareFunction:
|
|
7978
8013
|
case Keyword.GSStencilOperation:
|
|
7979
8014
|
case Keyword.GSCullMode:
|
|
8015
|
+
case Keyword.GSColorWriteMask:
|
|
7980
8016
|
this._addPendingContents(start, token.lexeme.length, outGlobalContents);
|
|
7981
8017
|
this._parseVariableDeclaration();
|
|
7982
8018
|
start = this._lexer.getShaderPosition(0);
|
|
@@ -8001,7 +8037,8 @@
|
|
|
8001
8037
|
StencilOperation: engine.StencilOperation,
|
|
8002
8038
|
BlendOperation: engine.BlendOperation,
|
|
8003
8039
|
BlendFactor: engine.BlendFactor,
|
|
8004
|
-
CullMode: engine.CullMode
|
|
8040
|
+
CullMode: engine.CullMode,
|
|
8041
|
+
ColorWriteMask: engine.ColorWriteMask
|
|
8005
8042
|
};
|
|
8006
8043
|
ShaderSourceParser._symbolTableStack = new SymbolTableStack();
|
|
8007
8044
|
ShaderSourceParser._lexer = new SourceLexer();
|
|
@@ -8060,7 +8097,7 @@
|
|
|
8060
8097
|
ShaderLab._shaderRangePool = ShaderLabUtils.createObjectPool(ShaderRange);
|
|
8061
8098
|
|
|
8062
8099
|
//@ts-ignore
|
|
8063
|
-
var version = "2.0.0-alpha.
|
|
8100
|
+
var version = "2.0.0-alpha.5";
|
|
8064
8101
|
var mode = "Release";
|
|
8065
8102
|
console.log("Galacean Engine ShaderLab Version: " + version + " | Mode: " + mode);
|
|
8066
8103
|
|