|
@@ -51536,6 +51536,22 @@ var BlockTools = /** @class */ (function () {
|
|
|
worldMatrixBlock.connectTo(transformBlock);
|
|
|
return transformBlock;
|
|
|
}
|
|
|
+ case "WorldTangentBlock": {
|
|
|
+ var worldTangentBlock = nodeMaterial.getInputBlockByPredicate(function (b) { return b.isAttribute && b.name === "tangent"; });
|
|
|
+ if (!worldTangentBlock) {
|
|
|
+ worldTangentBlock = new babylonjs_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["InputBlock"]("tangent");
|
|
|
+ worldTangentBlock.setAsAttribute("tangent");
|
|
|
+ }
|
|
|
+ var worldMatrixBlock = nodeMaterial.getInputBlockByPredicate(function (b) { return b.isSystemValue && b.systemValue === babylonjs_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["NodeMaterialSystemValues"].World; });
|
|
|
+ if (!worldMatrixBlock) {
|
|
|
+ worldMatrixBlock = new babylonjs_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["InputBlock"]("World");
|
|
|
+ worldMatrixBlock.setAsSystemValue(babylonjs_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["NodeMaterialSystemValues"].World);
|
|
|
+ }
|
|
|
+ var transformBlock = new babylonjs_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__["TransformBlock"]("World tangent");
|
|
|
+ worldTangentBlock.connectTo(transformBlock);
|
|
|
+ worldMatrixBlock.connectTo(transformBlock);
|
|
|
+ return transformBlock;
|
|
|
+ }
|
|
|
}
|
|
|
return null;
|
|
|
};
|
|
@@ -51776,7 +51792,7 @@ var NodeListComponent = /** @class */ (function (_super) {
|
|
|
Math__Scientific: ["AbsBlock", "ArcCosBlock", "ArcSinBlock", "ArcTanBlock", "ArcTan2Block", "CosBlock", "DegreesToRadiansBlock", "ExpBlock", "Exp2Block", "FractBlock", "LogBlock", "PowBlock", "RadiansToDegreesBlock", "SawToothWaveBlock", "SinBlock", "SquareWaveBlock", "TanBlock", "TriangleWaveBlock"],
|
|
|
Math__Vector: ["CrossBlock", "DerivativeBlock", "DistanceBlock", "DotBlock", "FresnelBlock", "LengthBlock", "ReflectBlock", "RefractBlock", "Rotate2dBlock", "TransformBlock",],
|
|
|
Matrices: ["Matrix", "WorldMatrixBlock", "WorldViewMatrixBlock", "WorldViewProjectionMatrixBlock", "ViewMatrixBlock", "ViewProjectionMatrixBlock", "ProjectionMatrixBlock"],
|
|
|
- Mesh: ["InstancesBlock", "PositionBlock", "UVBlock", "ColorBlock", "NormalBlock", "PerturbNormalBlock", "NormalBlendBlock", "TangentBlock", "MatrixIndicesBlock", "MatrixWeightsBlock", "WorldPositionBlock", "WorldNormalBlock", "FrontFacingBlock"],
|
|
|
+ Mesh: ["InstancesBlock", "PositionBlock", "UVBlock", "ColorBlock", "NormalBlock", "PerturbNormalBlock", "NormalBlendBlock", "TangentBlock", "MatrixIndicesBlock", "MatrixWeightsBlock", "WorldPositionBlock", "WorldNormalBlock", "WorldTangentBlock", "FrontFacingBlock"],
|
|
|
Noises: ["RandomNumberBlock", "SimplexPerlin3DBlock", "WorleyNoise3DBlock"],
|
|
|
Output_Blocks: ["VertexOutputBlock", "FragmentOutputBlock", "DiscardBlock"],
|
|
|
Range: ["ClampBlock", "RemapBlock", "NormalizeBlock"],
|
|
@@ -51854,6 +51870,7 @@ var NodeListComponent = /** @class */ (function (_super) {
|
|
|
"TangentBlock": "A Vector3 representing the tangent of each vertex of the attached mesh",
|
|
|
"UVBlock": "A Vector2 representing the UV coordinates of each vertex of the attached mesh",
|
|
|
"WorldNormal": "A Vector4 representing the normal of each vertex of the attached mesh transformed into world space",
|
|
|
+ "WorldTangent": "A Vector4 representing the tangent of each vertex of the attached mesh transformed into world space",
|
|
|
"PerturbNormalBlock": "Creates high-frequency detail normal vectors based on a normal map, the world position, and world normal",
|
|
|
"NormalBlend": "Outputs the result of blending two normal maps together using a per-channel screen",
|
|
|
"WorldPosition": "A Vector4 representing the position of each vertex of the attached mesh transformed into world space",
|