@galacean/engine-shaderlab 2.0.0-alpha.2 → 2.0.0-alpha.21
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/module.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClearableObjectPool, Logger, ShaderPass, ShaderLib, ReturnableObjectPool, Color, RenderStateElementKey, RenderQueueType, CompareFunction, StencilOperation, BlendOperation, BlendFactor, CullMode, ShaderLanguage } from '@galacean/engine';
|
|
1
|
+
import { ClearableObjectPool, Logger, ShaderPass, ShaderLib, ReturnableObjectPool, Color, RenderStateElementKey, RenderQueueType, CompareFunction, StencilOperation, BlendOperation, BlendFactor, CullMode, ColorWriteMask, ShaderLanguage } from '@galacean/engine';
|
|
2
2
|
|
|
3
3
|
function _set_prototype_of(o, p) {
|
|
4
4
|
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
@@ -297,40 +297,42 @@ var Keyword = /*#__PURE__*/ function(Keyword) {
|
|
|
297
297
|
Keyword[Keyword["LeftBrace"] = 71] = "LeftBrace";
|
|
298
298
|
Keyword[Keyword["RightBrace"] = 72] = "RightBrace";
|
|
299
299
|
Keyword[Keyword["Equal"] = 73] = "Equal";
|
|
300
|
+
Keyword[Keyword["BitwiseOr"] = 74] = "BitwiseOr";
|
|
300
301
|
// Source Parser Tokens
|
|
301
|
-
Keyword[Keyword["GSRenderQueueType"] =
|
|
302
|
-
Keyword[Keyword["GSBlendState"] =
|
|
303
|
-
Keyword[Keyword["GSDepthState"] =
|
|
304
|
-
Keyword[Keyword["GSStencilState"] =
|
|
305
|
-
Keyword[Keyword["GSRasterState"] =
|
|
306
|
-
Keyword[Keyword["GSEditorProperties"] =
|
|
307
|
-
Keyword[Keyword["GSEditorMacros"] =
|
|
308
|
-
Keyword[Keyword["GSEditor"] =
|
|
309
|
-
Keyword[Keyword["GSTags"] =
|
|
310
|
-
Keyword[Keyword["GSVertexShader"] =
|
|
311
|
-
Keyword[Keyword["GSFragmentShader"] =
|
|
312
|
-
Keyword[Keyword["GSSubShader"] =
|
|
313
|
-
Keyword[Keyword["GSPass"] =
|
|
314
|
-
Keyword[Keyword["GSBlendFactor"] =
|
|
315
|
-
Keyword[Keyword["GSBlendOperation"] =
|
|
316
|
-
Keyword[Keyword["GSBool"] =
|
|
317
|
-
Keyword[Keyword["GSNumber"] =
|
|
318
|
-
Keyword[Keyword["GSColor"] =
|
|
319
|
-
Keyword[Keyword["GSCompareFunction"] =
|
|
320
|
-
Keyword[Keyword["GSStencilOperation"] =
|
|
321
|
-
Keyword[Keyword["GSCullMode"] =
|
|
322
|
-
Keyword[Keyword["
|
|
302
|
+
Keyword[Keyword["GSRenderQueueType"] = 75] = "GSRenderQueueType";
|
|
303
|
+
Keyword[Keyword["GSBlendState"] = 76] = "GSBlendState";
|
|
304
|
+
Keyword[Keyword["GSDepthState"] = 77] = "GSDepthState";
|
|
305
|
+
Keyword[Keyword["GSStencilState"] = 78] = "GSStencilState";
|
|
306
|
+
Keyword[Keyword["GSRasterState"] = 79] = "GSRasterState";
|
|
307
|
+
Keyword[Keyword["GSEditorProperties"] = 80] = "GSEditorProperties";
|
|
308
|
+
Keyword[Keyword["GSEditorMacros"] = 81] = "GSEditorMacros";
|
|
309
|
+
Keyword[Keyword["GSEditor"] = 82] = "GSEditor";
|
|
310
|
+
Keyword[Keyword["GSTags"] = 83] = "GSTags";
|
|
311
|
+
Keyword[Keyword["GSVertexShader"] = 84] = "GSVertexShader";
|
|
312
|
+
Keyword[Keyword["GSFragmentShader"] = 85] = "GSFragmentShader";
|
|
313
|
+
Keyword[Keyword["GSSubShader"] = 86] = "GSSubShader";
|
|
314
|
+
Keyword[Keyword["GSPass"] = 87] = "GSPass";
|
|
315
|
+
Keyword[Keyword["GSBlendFactor"] = 88] = "GSBlendFactor";
|
|
316
|
+
Keyword[Keyword["GSBlendOperation"] = 89] = "GSBlendOperation";
|
|
317
|
+
Keyword[Keyword["GSBool"] = 90] = "GSBool";
|
|
318
|
+
Keyword[Keyword["GSNumber"] = 91] = "GSNumber";
|
|
319
|
+
Keyword[Keyword["GSColor"] = 92] = "GSColor";
|
|
320
|
+
Keyword[Keyword["GSCompareFunction"] = 93] = "GSCompareFunction";
|
|
321
|
+
Keyword[Keyword["GSStencilOperation"] = 94] = "GSStencilOperation";
|
|
322
|
+
Keyword[Keyword["GSCullMode"] = 95] = "GSCullMode";
|
|
323
|
+
Keyword[Keyword["GSColorWriteMask"] = 96] = "GSColorWriteMask";
|
|
324
|
+
Keyword[Keyword["GSUsePass"] = 97] = "GSUsePass";
|
|
323
325
|
// Macros
|
|
324
|
-
Keyword[Keyword["MACRO_IF"] =
|
|
325
|
-
Keyword[Keyword["MACRO_IFDEF"] =
|
|
326
|
-
Keyword[Keyword["MACRO_IFNDEF"] =
|
|
327
|
-
Keyword[Keyword["MACRO_ELSE"] =
|
|
328
|
-
Keyword[Keyword["MACRO_ELIF"] =
|
|
329
|
-
Keyword[Keyword["MACRO_ENDIF"] =
|
|
330
|
-
Keyword[Keyword["MACRO_UNDEF"] =
|
|
331
|
-
Keyword[Keyword["MACRO_DEFINE_EXPRESSION"] =
|
|
332
|
-
Keyword[Keyword["MACRO_CONDITIONAL_EXPRESSION"] =
|
|
333
|
-
Keyword[Keyword["MACRO_CALL"] =
|
|
326
|
+
Keyword[Keyword["MACRO_IF"] = 98] = "MACRO_IF";
|
|
327
|
+
Keyword[Keyword["MACRO_IFDEF"] = 99] = "MACRO_IFDEF";
|
|
328
|
+
Keyword[Keyword["MACRO_IFNDEF"] = 100] = "MACRO_IFNDEF";
|
|
329
|
+
Keyword[Keyword["MACRO_ELSE"] = 101] = "MACRO_ELSE";
|
|
330
|
+
Keyword[Keyword["MACRO_ELIF"] = 102] = "MACRO_ELIF";
|
|
331
|
+
Keyword[Keyword["MACRO_ENDIF"] = 103] = "MACRO_ENDIF";
|
|
332
|
+
Keyword[Keyword["MACRO_UNDEF"] = 104] = "MACRO_UNDEF";
|
|
333
|
+
Keyword[Keyword["MACRO_DEFINE_EXPRESSION"] = 105] = "MACRO_DEFINE_EXPRESSION";
|
|
334
|
+
Keyword[Keyword["MACRO_CONDITIONAL_EXPRESSION"] = 106] = "MACRO_CONDITIONAL_EXPRESSION";
|
|
335
|
+
Keyword[Keyword["MACRO_CALL"] = 107] = "MACRO_CALL";
|
|
334
336
|
return Keyword;
|
|
335
337
|
}({});
|
|
336
338
|
|
|
@@ -7540,7 +7542,8 @@ var SourceLexer = /*#__PURE__*/ function(BaseLexer1) {
|
|
|
7540
7542
|
charCode === 59 || // ;
|
|
7541
7543
|
charCode === 46 || // . CullMode.Back
|
|
7542
7544
|
charCode === 91 || // [ Enabled[0],
|
|
7543
|
-
charCode === 40 // ( Color(1.0, 1.0, 1.0, 1.0);
|
|
7545
|
+
charCode === 40 || // ( Color(1.0, 1.0, 1.0, 1.0);
|
|
7546
|
+
charCode === 124 // | ColorWriteMask.Red | ColorWriteMask.Green
|
|
7544
7547
|
;
|
|
7545
7548
|
};
|
|
7546
7549
|
SourceLexer._scanDigits = function _scanDigits(source, startIndex) {
|
|
@@ -7579,6 +7582,7 @@ SourceLexer._keywordLexemeTable = {
|
|
|
7579
7582
|
CompareFunction: Keyword.GSCompareFunction,
|
|
7580
7583
|
StencilOperation: Keyword.GSStencilOperation,
|
|
7581
7584
|
CullMode: Keyword.GSCullMode,
|
|
7585
|
+
ColorWriteMask: Keyword.GSColorWriteMask,
|
|
7582
7586
|
UsePass: Keyword.GSUsePass,
|
|
7583
7587
|
true: Keyword.True,
|
|
7584
7588
|
false: Keyword.False
|
|
@@ -7586,7 +7590,8 @@ SourceLexer._keywordLexemeTable = {
|
|
|
7586
7590
|
SourceLexer._symbolLexemeTable = {
|
|
7587
7591
|
"{": Keyword.LeftBrace,
|
|
7588
7592
|
"}": Keyword.RightBrace,
|
|
7589
|
-
"=": Keyword.Equal
|
|
7593
|
+
"=": Keyword.Equal,
|
|
7594
|
+
"|": Keyword.BitwiseOr
|
|
7590
7595
|
};
|
|
7591
7596
|
|
|
7592
7597
|
/**
|
|
@@ -7741,6 +7746,17 @@ SourceLexer._symbolLexemeTable = {
|
|
|
7741
7746
|
ShaderSourceParser._createCompileError = function _createCompileError(message, location) {
|
|
7742
7747
|
this._lexer.createCompileError(message, location);
|
|
7743
7748
|
};
|
|
7749
|
+
ShaderSourceParser._scanEnumConstValue = function _scanEnumConstValue(enumName) {
|
|
7750
|
+
var _this__renderStateConstMap_enumName;
|
|
7751
|
+
var lexer = this._lexer;
|
|
7752
|
+
lexer.advance(1);
|
|
7753
|
+
var constValueToken = lexer.scanToken();
|
|
7754
|
+
var value = (_this__renderStateConstMap_enumName = this._renderStateConstMap[enumName]) == null ? void 0 : _this__renderStateConstMap_enumName[constValueToken.lexeme];
|
|
7755
|
+
if (value == undefined) {
|
|
7756
|
+
this._createCompileError("Invalid engine constant: " + enumName + "." + constValueToken.lexeme, constValueToken.location);
|
|
7757
|
+
}
|
|
7758
|
+
return value;
|
|
7759
|
+
};
|
|
7744
7760
|
ShaderSourceParser._parseRenderStateProperty = function _parseRenderStateProperty(stateLexeme, out) {
|
|
7745
7761
|
var lexer = this._lexer;
|
|
7746
7762
|
var propertyToken = lexer.scanToken();
|
|
@@ -7780,12 +7796,31 @@ SourceLexer._symbolLexemeTable = {
|
|
|
7780
7796
|
} else if (valueTokenType === Keyword.GSColor) {
|
|
7781
7797
|
propertyValue = lexer.scanColor();
|
|
7782
7798
|
} else if (lexer.getCurChar() === ".") {
|
|
7783
|
-
|
|
7784
|
-
|
|
7785
|
-
|
|
7786
|
-
|
|
7787
|
-
if (
|
|
7788
|
-
|
|
7799
|
+
propertyValue = this._scanEnumConstValue(valueToken.lexeme);
|
|
7800
|
+
if (propertyValue == undefined) return;
|
|
7801
|
+
// Support bitwise OR only for bitmask enums (e.g. ColorWriteMask)
|
|
7802
|
+
lexer.skipCommentsAndSpace();
|
|
7803
|
+
if (lexer.getCurChar() === "|") {
|
|
7804
|
+
if (valueToken.lexeme !== "ColorWriteMask") {
|
|
7805
|
+
this._createCompileError("Bitwise OR '|' is not supported for '" + valueToken.lexeme + "', only bitmask enums like 'ColorWriteMask' support this", valueToken.location);
|
|
7806
|
+
return;
|
|
7807
|
+
}
|
|
7808
|
+
while(lexer.getCurChar() === "|"){
|
|
7809
|
+
lexer.advance(1);
|
|
7810
|
+
var nextEnumToken = lexer.scanToken();
|
|
7811
|
+
if (nextEnumToken == undefined || lexer.getCurChar() !== ".") {
|
|
7812
|
+
this._createCompileError("Invalid syntax after '|', expect 'EnumType.Value'", nextEnumToken == null ? void 0 : nextEnumToken.location);
|
|
7813
|
+
return;
|
|
7814
|
+
}
|
|
7815
|
+
if (nextEnumToken.lexeme !== valueToken.lexeme) {
|
|
7816
|
+
this._createCompileError("Cannot mix enum types in bitwise OR: expected '" + valueToken.lexeme + "' but got '" + nextEnumToken.lexeme + "'", nextEnumToken.location);
|
|
7817
|
+
return;
|
|
7818
|
+
}
|
|
7819
|
+
var nextValue = this._scanEnumConstValue(nextEnumToken.lexeme);
|
|
7820
|
+
if (nextValue == undefined) return;
|
|
7821
|
+
propertyValue = propertyValue | nextValue;
|
|
7822
|
+
lexer.skipCommentsAndSpace();
|
|
7823
|
+
}
|
|
7789
7824
|
}
|
|
7790
7825
|
} else {
|
|
7791
7826
|
propertyValue = valueToken.lexeme;
|
|
@@ -7973,6 +8008,7 @@ SourceLexer._symbolLexemeTable = {
|
|
|
7973
8008
|
case Keyword.GSCompareFunction:
|
|
7974
8009
|
case Keyword.GSStencilOperation:
|
|
7975
8010
|
case Keyword.GSCullMode:
|
|
8011
|
+
case Keyword.GSColorWriteMask:
|
|
7976
8012
|
this._addPendingContents(start, token.lexeme.length, outGlobalContents);
|
|
7977
8013
|
this._parseVariableDeclaration();
|
|
7978
8014
|
start = this._lexer.getShaderPosition(0);
|
|
@@ -7997,7 +8033,8 @@ ShaderSourceParser._renderStateConstMap = {
|
|
|
7997
8033
|
StencilOperation: StencilOperation,
|
|
7998
8034
|
BlendOperation: BlendOperation,
|
|
7999
8035
|
BlendFactor: BlendFactor,
|
|
8000
|
-
CullMode: CullMode
|
|
8036
|
+
CullMode: CullMode,
|
|
8037
|
+
ColorWriteMask: ColorWriteMask
|
|
8001
8038
|
};
|
|
8002
8039
|
ShaderSourceParser._symbolTableStack = new SymbolTableStack();
|
|
8003
8040
|
ShaderSourceParser._lexer = new SourceLexer();
|
|
@@ -8056,7 +8093,7 @@ ShaderLab._shaderPositionPool = ShaderLabUtils.createObjectPool(ShaderPosition);
|
|
|
8056
8093
|
ShaderLab._shaderRangePool = ShaderLabUtils.createObjectPool(ShaderRange);
|
|
8057
8094
|
|
|
8058
8095
|
//@ts-ignore
|
|
8059
|
-
var version = "2.0.0-alpha.
|
|
8096
|
+
var version = "2.0.0-alpha.21";
|
|
8060
8097
|
var mode = "Release";
|
|
8061
8098
|
console.log("Galacean Engine ShaderLab Version: " + version + " | Mode: " + mode);
|
|
8062
8099
|
|