@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/browser.verbose.js
CHANGED
|
@@ -305,40 +305,42 @@
|
|
|
305
305
|
Keyword[Keyword["LeftBrace"] = 71] = "LeftBrace";
|
|
306
306
|
Keyword[Keyword["RightBrace"] = 72] = "RightBrace";
|
|
307
307
|
Keyword[Keyword["Equal"] = 73] = "Equal";
|
|
308
|
+
Keyword[Keyword["BitwiseOr"] = 74] = "BitwiseOr";
|
|
308
309
|
// Source Parser Tokens
|
|
309
|
-
Keyword[Keyword["GSRenderQueueType"] =
|
|
310
|
-
Keyword[Keyword["GSBlendState"] =
|
|
311
|
-
Keyword[Keyword["GSDepthState"] =
|
|
312
|
-
Keyword[Keyword["GSStencilState"] =
|
|
313
|
-
Keyword[Keyword["GSRasterState"] =
|
|
314
|
-
Keyword[Keyword["GSEditorProperties"] =
|
|
315
|
-
Keyword[Keyword["GSEditorMacros"] =
|
|
316
|
-
Keyword[Keyword["GSEditor"] =
|
|
317
|
-
Keyword[Keyword["GSTags"] =
|
|
318
|
-
Keyword[Keyword["GSVertexShader"] =
|
|
319
|
-
Keyword[Keyword["GSFragmentShader"] =
|
|
320
|
-
Keyword[Keyword["GSSubShader"] =
|
|
321
|
-
Keyword[Keyword["GSPass"] =
|
|
322
|
-
Keyword[Keyword["GSBlendFactor"] =
|
|
323
|
-
Keyword[Keyword["GSBlendOperation"] =
|
|
324
|
-
Keyword[Keyword["GSBool"] =
|
|
325
|
-
Keyword[Keyword["GSNumber"] =
|
|
326
|
-
Keyword[Keyword["GSColor"] =
|
|
327
|
-
Keyword[Keyword["GSCompareFunction"] =
|
|
328
|
-
Keyword[Keyword["GSStencilOperation"] =
|
|
329
|
-
Keyword[Keyword["GSCullMode"] =
|
|
330
|
-
Keyword[Keyword["
|
|
310
|
+
Keyword[Keyword["GSRenderQueueType"] = 75] = "GSRenderQueueType";
|
|
311
|
+
Keyword[Keyword["GSBlendState"] = 76] = "GSBlendState";
|
|
312
|
+
Keyword[Keyword["GSDepthState"] = 77] = "GSDepthState";
|
|
313
|
+
Keyword[Keyword["GSStencilState"] = 78] = "GSStencilState";
|
|
314
|
+
Keyword[Keyword["GSRasterState"] = 79] = "GSRasterState";
|
|
315
|
+
Keyword[Keyword["GSEditorProperties"] = 80] = "GSEditorProperties";
|
|
316
|
+
Keyword[Keyword["GSEditorMacros"] = 81] = "GSEditorMacros";
|
|
317
|
+
Keyword[Keyword["GSEditor"] = 82] = "GSEditor";
|
|
318
|
+
Keyword[Keyword["GSTags"] = 83] = "GSTags";
|
|
319
|
+
Keyword[Keyword["GSVertexShader"] = 84] = "GSVertexShader";
|
|
320
|
+
Keyword[Keyword["GSFragmentShader"] = 85] = "GSFragmentShader";
|
|
321
|
+
Keyword[Keyword["GSSubShader"] = 86] = "GSSubShader";
|
|
322
|
+
Keyword[Keyword["GSPass"] = 87] = "GSPass";
|
|
323
|
+
Keyword[Keyword["GSBlendFactor"] = 88] = "GSBlendFactor";
|
|
324
|
+
Keyword[Keyword["GSBlendOperation"] = 89] = "GSBlendOperation";
|
|
325
|
+
Keyword[Keyword["GSBool"] = 90] = "GSBool";
|
|
326
|
+
Keyword[Keyword["GSNumber"] = 91] = "GSNumber";
|
|
327
|
+
Keyword[Keyword["GSColor"] = 92] = "GSColor";
|
|
328
|
+
Keyword[Keyword["GSCompareFunction"] = 93] = "GSCompareFunction";
|
|
329
|
+
Keyword[Keyword["GSStencilOperation"] = 94] = "GSStencilOperation";
|
|
330
|
+
Keyword[Keyword["GSCullMode"] = 95] = "GSCullMode";
|
|
331
|
+
Keyword[Keyword["GSColorWriteMask"] = 96] = "GSColorWriteMask";
|
|
332
|
+
Keyword[Keyword["GSUsePass"] = 97] = "GSUsePass";
|
|
331
333
|
// Macros
|
|
332
|
-
Keyword[Keyword["MACRO_IF"] =
|
|
333
|
-
Keyword[Keyword["MACRO_IFDEF"] =
|
|
334
|
-
Keyword[Keyword["MACRO_IFNDEF"] =
|
|
335
|
-
Keyword[Keyword["MACRO_ELSE"] =
|
|
336
|
-
Keyword[Keyword["MACRO_ELIF"] =
|
|
337
|
-
Keyword[Keyword["MACRO_ENDIF"] =
|
|
338
|
-
Keyword[Keyword["MACRO_UNDEF"] =
|
|
339
|
-
Keyword[Keyword["MACRO_DEFINE_EXPRESSION"] =
|
|
340
|
-
Keyword[Keyword["MACRO_CONDITIONAL_EXPRESSION"] =
|
|
341
|
-
Keyword[Keyword["MACRO_CALL"] =
|
|
334
|
+
Keyword[Keyword["MACRO_IF"] = 98] = "MACRO_IF";
|
|
335
|
+
Keyword[Keyword["MACRO_IFDEF"] = 99] = "MACRO_IFDEF";
|
|
336
|
+
Keyword[Keyword["MACRO_IFNDEF"] = 100] = "MACRO_IFNDEF";
|
|
337
|
+
Keyword[Keyword["MACRO_ELSE"] = 101] = "MACRO_ELSE";
|
|
338
|
+
Keyword[Keyword["MACRO_ELIF"] = 102] = "MACRO_ELIF";
|
|
339
|
+
Keyword[Keyword["MACRO_ENDIF"] = 103] = "MACRO_ENDIF";
|
|
340
|
+
Keyword[Keyword["MACRO_UNDEF"] = 104] = "MACRO_UNDEF";
|
|
341
|
+
Keyword[Keyword["MACRO_DEFINE_EXPRESSION"] = 105] = "MACRO_DEFINE_EXPRESSION";
|
|
342
|
+
Keyword[Keyword["MACRO_CONDITIONAL_EXPRESSION"] = 106] = "MACRO_CONDITIONAL_EXPRESSION";
|
|
343
|
+
Keyword[Keyword["MACRO_CALL"] = 107] = "MACRO_CALL";
|
|
342
344
|
return Keyword;
|
|
343
345
|
}({});
|
|
344
346
|
|
|
@@ -8304,7 +8306,8 @@
|
|
|
8304
8306
|
charCode === 59 || // ;
|
|
8305
8307
|
charCode === 46 || // . CullMode.Back
|
|
8306
8308
|
charCode === 91 || // [ Enabled[0],
|
|
8307
|
-
charCode === 40 // ( Color(1.0, 1.0, 1.0, 1.0);
|
|
8309
|
+
charCode === 40 || // ( Color(1.0, 1.0, 1.0, 1.0);
|
|
8310
|
+
charCode === 124 // | ColorWriteMask.Red | ColorWriteMask.Green
|
|
8308
8311
|
;
|
|
8309
8312
|
};
|
|
8310
8313
|
SourceLexer._scanDigits = function _scanDigits(source, startIndex) {
|
|
@@ -8343,6 +8346,7 @@
|
|
|
8343
8346
|
CompareFunction: Keyword.GSCompareFunction,
|
|
8344
8347
|
StencilOperation: Keyword.GSStencilOperation,
|
|
8345
8348
|
CullMode: Keyword.GSCullMode,
|
|
8349
|
+
ColorWriteMask: Keyword.GSColorWriteMask,
|
|
8346
8350
|
UsePass: Keyword.GSUsePass,
|
|
8347
8351
|
true: Keyword.True,
|
|
8348
8352
|
false: Keyword.False
|
|
@@ -8350,7 +8354,8 @@
|
|
|
8350
8354
|
SourceLexer._symbolLexemeTable = {
|
|
8351
8355
|
"{": Keyword.LeftBrace,
|
|
8352
8356
|
"}": Keyword.RightBrace,
|
|
8353
|
-
"=": Keyword.Equal
|
|
8357
|
+
"=": Keyword.Equal,
|
|
8358
|
+
"|": Keyword.BitwiseOr
|
|
8354
8359
|
};
|
|
8355
8360
|
|
|
8356
8361
|
/**
|
|
@@ -8507,6 +8512,18 @@
|
|
|
8507
8512
|
var error = this._lexer.createCompileError(message, location);
|
|
8508
8513
|
this.errors.push(error);
|
|
8509
8514
|
};
|
|
8515
|
+
ShaderSourceParser._scanEnumConstValue = function _scanEnumConstValue(enumName) {
|
|
8516
|
+
var _this__renderStateConstMap_enumName;
|
|
8517
|
+
var lexer = this._lexer;
|
|
8518
|
+
lexer.advance(1);
|
|
8519
|
+
var constValueToken = lexer.scanToken();
|
|
8520
|
+
var value = (_this__renderStateConstMap_enumName = this._renderStateConstMap[enumName]) == null ? void 0 : _this__renderStateConstMap_enumName[constValueToken.lexeme];
|
|
8521
|
+
if (value == undefined) {
|
|
8522
|
+
this._createCompileError("Invalid engine constant: " + enumName + "." + constValueToken.lexeme, constValueToken.location);
|
|
8523
|
+
lexer.scanToCharacter(";");
|
|
8524
|
+
}
|
|
8525
|
+
return value;
|
|
8526
|
+
};
|
|
8510
8527
|
ShaderSourceParser._parseRenderStateProperty = function _parseRenderStateProperty(stateLexeme, out) {
|
|
8511
8528
|
var lexer = this._lexer;
|
|
8512
8529
|
var propertyToken = lexer.scanToken();
|
|
@@ -8550,14 +8567,34 @@
|
|
|
8550
8567
|
} else if (valueTokenType === Keyword.GSColor) {
|
|
8551
8568
|
propertyValue = lexer.scanColor();
|
|
8552
8569
|
} else if (lexer.getCurChar() === ".") {
|
|
8553
|
-
|
|
8554
|
-
|
|
8555
|
-
|
|
8556
|
-
|
|
8557
|
-
if (
|
|
8558
|
-
|
|
8559
|
-
|
|
8560
|
-
|
|
8570
|
+
propertyValue = this._scanEnumConstValue(valueToken.lexeme);
|
|
8571
|
+
if (propertyValue == undefined) return;
|
|
8572
|
+
// Support bitwise OR only for bitmask enums (e.g. ColorWriteMask)
|
|
8573
|
+
lexer.skipCommentsAndSpace();
|
|
8574
|
+
if (lexer.getCurChar() === "|") {
|
|
8575
|
+
if (valueToken.lexeme !== "ColorWriteMask") {
|
|
8576
|
+
this._createCompileError("Bitwise OR '|' is not supported for '" + valueToken.lexeme + "', only bitmask enums like 'ColorWriteMask' support this", valueToken.location);
|
|
8577
|
+
lexer.scanToCharacter(";");
|
|
8578
|
+
return;
|
|
8579
|
+
}
|
|
8580
|
+
while(lexer.getCurChar() === "|"){
|
|
8581
|
+
lexer.advance(1);
|
|
8582
|
+
var nextEnumToken = lexer.scanToken();
|
|
8583
|
+
if (nextEnumToken == undefined || lexer.getCurChar() !== ".") {
|
|
8584
|
+
this._createCompileError("Invalid syntax after '|', expect 'EnumType.Value'", nextEnumToken == null ? void 0 : nextEnumToken.location);
|
|
8585
|
+
lexer.scanToCharacter(";");
|
|
8586
|
+
return;
|
|
8587
|
+
}
|
|
8588
|
+
if (nextEnumToken.lexeme !== valueToken.lexeme) {
|
|
8589
|
+
this._createCompileError("Cannot mix enum types in bitwise OR: expected '" + valueToken.lexeme + "' but got '" + nextEnumToken.lexeme + "'", nextEnumToken.location);
|
|
8590
|
+
lexer.scanToCharacter(";");
|
|
8591
|
+
return;
|
|
8592
|
+
}
|
|
8593
|
+
var nextValue = this._scanEnumConstValue(nextEnumToken.lexeme);
|
|
8594
|
+
if (nextValue == undefined) return;
|
|
8595
|
+
propertyValue = propertyValue | nextValue;
|
|
8596
|
+
lexer.skipCommentsAndSpace();
|
|
8597
|
+
}
|
|
8561
8598
|
}
|
|
8562
8599
|
} else {
|
|
8563
8600
|
propertyValue = valueToken.lexeme;
|
|
@@ -8751,6 +8788,7 @@
|
|
|
8751
8788
|
case Keyword.GSCompareFunction:
|
|
8752
8789
|
case Keyword.GSStencilOperation:
|
|
8753
8790
|
case Keyword.GSCullMode:
|
|
8791
|
+
case Keyword.GSColorWriteMask:
|
|
8754
8792
|
this._addPendingContents(start, token.lexeme.length, outGlobalContents);
|
|
8755
8793
|
this._parseVariableDeclaration();
|
|
8756
8794
|
start = this._lexer.getShaderPosition(0);
|
|
@@ -8775,7 +8813,8 @@
|
|
|
8775
8813
|
StencilOperation: engine.StencilOperation,
|
|
8776
8814
|
BlendOperation: engine.BlendOperation,
|
|
8777
8815
|
BlendFactor: engine.BlendFactor,
|
|
8778
|
-
CullMode: engine.CullMode
|
|
8816
|
+
CullMode: engine.CullMode,
|
|
8817
|
+
ColorWriteMask: engine.ColorWriteMask
|
|
8779
8818
|
};
|
|
8780
8819
|
ShaderSourceParser._symbolTableStack = new SymbolTableStack();
|
|
8781
8820
|
ShaderSourceParser._lexer = new SourceLexer();
|
|
@@ -8848,7 +8887,7 @@
|
|
|
8848
8887
|
ShaderLab._shaderRangePool = ShaderLabUtils.createObjectPool(ShaderRange);
|
|
8849
8888
|
|
|
8850
8889
|
//@ts-ignore
|
|
8851
|
-
var version = "2.0.0-alpha.
|
|
8890
|
+
var version = "2.0.0-alpha.21";
|
|
8852
8891
|
var mode = "Release";
|
|
8853
8892
|
mode = "Verbose";
|
|
8854
8893
|
console.log("Galacean Engine ShaderLab Version: " + version + " | Mode: " + mode);
|