@itwin/core-frontend 3.0.0-dev.148 → 3.0.0-dev.153
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/lib/cjs/Marker.d.ts +9 -2
- package/lib/cjs/Marker.d.ts.map +1 -1
- package/lib/cjs/Marker.js +33 -5
- package/lib/cjs/Marker.js.map +1 -1
- package/lib/cjs/RealityDataSource.js +1 -12
- package/lib/cjs/RealityDataSource.js.map +1 -1
- package/lib/cjs/render/RenderMemory.d.ts +21 -15
- package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
- package/lib/cjs/render/RenderMemory.js +21 -15
- package/lib/cjs/render/RenderMemory.js.map +1 -1
- package/lib/cjs/render/RenderSystem.d.ts +2 -0
- package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
- package/lib/cjs/render/RenderSystem.js +2 -0
- package/lib/cjs/render/RenderSystem.js.map +1 -1
- package/lib/cjs/render/primitives/EdgeParams.d.ts +35 -1
- package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
- package/lib/cjs/render/primitives/EdgeParams.js +114 -10
- package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
- package/lib/cjs/render/primitives/VertexTable.d.ts +1 -0
- package/lib/cjs/render/primitives/VertexTable.d.ts.map +1 -1
- package/lib/cjs/render/primitives/VertexTable.js +6 -1
- package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
- package/lib/cjs/render/webgl/AttributeMap.js +5 -5
- package/lib/cjs/render/webgl/CachedGeometry.d.ts +2 -0
- package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/cjs/render/webgl/CachedGeometry.js +14 -13
- package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/DrawCommand.js +2 -2
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.js +90 -0
- package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -0
- package/lib/cjs/render/webgl/InstancedGeometry.d.ts +1 -0
- package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
- package/lib/cjs/render/webgl/InstancedGeometry.js +1 -0
- package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/Mesh.d.ts +2 -0
- package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Mesh.js +7 -1
- package/lib/cjs/render/webgl/Mesh.js.map +1 -1
- package/lib/cjs/render/webgl/PlanarClassifier.js +1 -1
- package/lib/cjs/render/webgl/PlanarGrid.js +2 -2
- package/lib/cjs/render/webgl/RealityMesh.js +5 -5
- package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.d.ts +4 -1
- package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.js +6 -1
- package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/render/webgl/SceneCompositor.js +6 -6
- package/lib/cjs/render/webgl/ScreenSpaceEffect.js +1 -1
- package/lib/cjs/render/webgl/ShaderBuilder.d.ts +16 -14
- package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/cjs/render/webgl/ShaderBuilder.js +19 -15
- package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/cjs/render/webgl/System.d.ts +2 -0
- package/lib/cjs/render/webgl/System.d.ts.map +1 -1
- package/lib/cjs/render/webgl/System.js +2 -0
- package/lib/cjs/render/webgl/System.js.map +1 -1
- package/lib/cjs/render/webgl/Target.js +1 -1
- package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Technique.js +72 -57
- package/lib/cjs/render/webgl/Technique.js.map +1 -1
- package/lib/cjs/render/webgl/TechniqueId.d.ts +29 -28
- package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
- package/lib/cjs/render/webgl/TechniqueId.js +7 -7
- package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Animation.js +1 -1
- package/lib/cjs/render/webgl/glsl/Color.js +1 -1
- package/lib/cjs/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/CopyStencil.js +4 -7
- package/lib/cjs/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js +1 -1
- package/lib/cjs/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Edge.d.ts +2 -1
- package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/Edge.js +132 -14
- package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +13 -10
- package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Fragment.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/Fragment.js +9 -1
- package/lib/cjs/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/LookupTable.d.ts +4 -2
- package/lib/cjs/render/webgl/glsl/LookupTable.d.ts.map +1 -1
- package/lib/cjs/render/webgl/glsl/LookupTable.js +7 -3
- package/lib/cjs/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PlanarGrid.js +2 -2
- package/lib/cjs/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PointCloud.js +2 -2
- package/lib/cjs/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/PointString.js +1 -1
- package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Polyline.js +1 -1
- package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/RealityMesh.js +4 -4
- package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
- package/lib/cjs/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkyBox.js +1 -1
- package/lib/cjs/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/SkySphere.js +1 -1
- package/lib/cjs/render/webgl/glsl/Surface.js +3 -3
- package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/Vertex.js +1 -1
- package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/cjs/render/webgl/glsl/ViewportQuad.js +1 -1
- package/lib/cjs/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
- package/lib/cjs/tile/IModelTile.js +1 -0
- package/lib/cjs/tile/IModelTile.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.d.ts +1 -0
- package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
- package/lib/cjs/tile/ImdlReader.js +21 -1
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/PrimaryTileTree.js +4 -3
- package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
- package/lib/cjs/tile/TileAdmin.d.ts +9 -0
- package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
- package/lib/cjs/tile/TileAdmin.js +18 -13
- package/lib/cjs/tile/TileAdmin.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +4 -3
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/webgl.d.ts +1 -0
- package/lib/cjs/webgl.d.ts.map +1 -1
- package/lib/cjs/webgl.js +1 -0
- package/lib/cjs/webgl.js.map +1 -1
- package/lib/esm/Marker.d.ts +9 -2
- package/lib/esm/Marker.d.ts.map +1 -1
- package/lib/esm/Marker.js +34 -6
- package/lib/esm/Marker.js.map +1 -1
- package/lib/esm/RealityDataSource.js +2 -13
- package/lib/esm/RealityDataSource.js.map +1 -1
- package/lib/esm/render/RenderMemory.d.ts +21 -15
- package/lib/esm/render/RenderMemory.d.ts.map +1 -1
- package/lib/esm/render/RenderMemory.js +21 -15
- package/lib/esm/render/RenderMemory.js.map +1 -1
- package/lib/esm/render/RenderSystem.d.ts +2 -0
- package/lib/esm/render/RenderSystem.d.ts.map +1 -1
- package/lib/esm/render/RenderSystem.js +2 -0
- package/lib/esm/render/RenderSystem.js.map +1 -1
- package/lib/esm/render/primitives/EdgeParams.d.ts +35 -1
- package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
- package/lib/esm/render/primitives/EdgeParams.js +114 -10
- package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
- package/lib/esm/render/primitives/VertexTable.d.ts +1 -0
- package/lib/esm/render/primitives/VertexTable.d.ts.map +1 -1
- package/lib/esm/render/primitives/VertexTable.js +6 -1
- package/lib/esm/render/primitives/VertexTable.js.map +1 -1
- package/lib/esm/render/webgl/AttributeMap.js +5 -5
- package/lib/esm/render/webgl/CachedGeometry.d.ts +2 -0
- package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/esm/render/webgl/CachedGeometry.js +14 -13
- package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/DrawCommand.js +2 -2
- package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +51 -0
- package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -0
- package/lib/esm/render/webgl/IndexedEdgeGeometry.js +85 -0
- package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -0
- package/lib/esm/render/webgl/InstancedGeometry.d.ts +1 -0
- package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
- package/lib/esm/render/webgl/InstancedGeometry.js +1 -0
- package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/Mesh.d.ts +2 -0
- package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/Mesh.js +7 -1
- package/lib/esm/render/webgl/Mesh.js.map +1 -1
- package/lib/esm/render/webgl/PlanarClassifier.js +1 -1
- package/lib/esm/render/webgl/PlanarGrid.js +2 -2
- package/lib/esm/render/webgl/RealityMesh.js +5 -5
- package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/RenderFlags.d.ts +4 -1
- package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/esm/render/webgl/RenderFlags.js +6 -1
- package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
- package/lib/esm/render/webgl/SceneCompositor.js +6 -6
- package/lib/esm/render/webgl/ScreenSpaceEffect.js +1 -1
- package/lib/esm/render/webgl/ShaderBuilder.d.ts +16 -14
- package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
- package/lib/esm/render/webgl/ShaderBuilder.js +19 -15
- package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
- package/lib/esm/render/webgl/System.d.ts +2 -0
- package/lib/esm/render/webgl/System.d.ts.map +1 -1
- package/lib/esm/render/webgl/System.js +2 -0
- package/lib/esm/render/webgl/System.js.map +1 -1
- package/lib/esm/render/webgl/Target.js +1 -1
- package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
- package/lib/esm/render/webgl/Technique.js +72 -57
- package/lib/esm/render/webgl/Technique.js.map +1 -1
- package/lib/esm/render/webgl/TechniqueId.d.ts +29 -28
- package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
- package/lib/esm/render/webgl/TechniqueId.js +7 -7
- package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Animation.js +1 -1
- package/lib/esm/render/webgl/glsl/Color.js +1 -1
- package/lib/esm/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/CopyStencil.js +4 -7
- package/lib/esm/render/webgl/glsl/CopyStencil.js.map +1 -1
- package/lib/esm/render/webgl/glsl/EVSMFromDepth.js +1 -1
- package/lib/esm/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Edge.d.ts +2 -1
- package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/Edge.js +132 -14
- package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
- package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/FeatureSymbology.js +13 -10
- package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Fragment.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/Fragment.js +9 -1
- package/lib/esm/render/webgl/glsl/Fragment.js.map +1 -1
- package/lib/esm/render/webgl/glsl/LookupTable.d.ts +4 -2
- package/lib/esm/render/webgl/glsl/LookupTable.d.ts.map +1 -1
- package/lib/esm/render/webgl/glsl/LookupTable.js +7 -3
- package/lib/esm/render/webgl/glsl/LookupTable.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PlanarGrid.js +2 -2
- package/lib/esm/render/webgl/glsl/PlanarGrid.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PointCloud.js +2 -2
- package/lib/esm/render/webgl/glsl/PointCloud.js.map +1 -1
- package/lib/esm/render/webgl/glsl/PointString.js +1 -1
- package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Polyline.js +1 -1
- package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
- package/lib/esm/render/webgl/glsl/RealityMesh.js +4 -4
- package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js +1 -1
- package/lib/esm/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
- package/lib/esm/render/webgl/glsl/SkyBox.js +1 -1
- package/lib/esm/render/webgl/glsl/SkyBox.js.map +1 -1
- package/lib/esm/render/webgl/glsl/SkySphere.js +1 -1
- package/lib/esm/render/webgl/glsl/Surface.js +3 -3
- package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
- package/lib/esm/render/webgl/glsl/Vertex.js +1 -1
- package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
- package/lib/esm/render/webgl/glsl/ViewportQuad.js +1 -1
- package/lib/esm/render/webgl/glsl/ViewportQuad.js.map +1 -1
- package/lib/esm/tile/IModelTile.d.ts.map +1 -1
- package/lib/esm/tile/IModelTile.js +1 -0
- package/lib/esm/tile/IModelTile.js.map +1 -1
- package/lib/esm/tile/ImdlReader.d.ts +1 -0
- package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
- package/lib/esm/tile/ImdlReader.js +21 -1
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/PrimaryTileTree.js +5 -4
- package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
- package/lib/esm/tile/TileAdmin.d.ts +9 -0
- package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
- package/lib/esm/tile/TileAdmin.js +19 -14
- package/lib/esm/tile/TileAdmin.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +4 -3
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/webgl.d.ts +1 -0
- package/lib/esm/webgl.d.ts.map +1 -1
- package/lib/esm/webgl.js +1 -0
- package/lib/esm/webgl.js.map +1 -1
- package/package.json +22 -22
|
@@ -37,6 +37,8 @@ export declare const enum GeometryType {
|
|
|
37
37
|
ArrayedPoints = 2
|
|
38
38
|
}
|
|
39
39
|
/** Reserved texture units for specific sampler variables, to avoid conflicts between shader components which each have their own textures.
|
|
40
|
+
* WebGL 1 guarantees a minimum of 8 vertex texture units, and iOS provides no more than that.
|
|
41
|
+
* WebGL 2 guarantees a minimum of 15 vertex texture units.
|
|
40
42
|
* @internal
|
|
41
43
|
*/
|
|
42
44
|
export declare enum TextureUnit {
|
|
@@ -66,7 +68,8 @@ export declare enum TextureUnit {
|
|
|
66
68
|
RealityMesh3,
|
|
67
69
|
RealityMesh4,
|
|
68
70
|
RealityMesh5,
|
|
69
|
-
RealityMeshThematicGradient
|
|
71
|
+
RealityMeshThematicGradient,
|
|
72
|
+
EdgeLUT
|
|
70
73
|
}
|
|
71
74
|
/**
|
|
72
75
|
* Defines the order in which primitives are rendered within a GLESList. This is chiefly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderFlags.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/RenderFlags.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH;;GAEG;AACH,0BAAkB,UAAU;IAC1B,IAAI,MAAO;IACX,UAAU,IAAI;IACd,YAAY,IAAA;IACZ,YAAY,IAAA;IACZ,YAAY,IAAA;IACZ,aAAa,IAAA;IACb,cAAc,IAAA;IACd,iBAAiB,IAAA;IACjB,WAAW,IAAA;IACX,UAAU,IAAA;IACV,MAAM,IAAA;IACN,aAAa,KAAA;IACb,YAAY,KAAA;IACZ,WAAW,KAAA;IACX,MAAM,KAAA;IACN,aAAa,KAAA;IACb,oBAAoB,KAAA;IACpB,qBAAqB,KAAA;IACrB,0BAA0B,KAAA;IAC1B,oBAAoB,KAAA;IACpB,2BAA2B,KAAA;IAC3B,KAAK,KAAA;CACN;AAED;;GAEG;AACH,0BAAkB,YAAY;IAC5B,gBAAgB,IAAA;IAChB,aAAa,IAAA;IACb,aAAa,IAAA;CACd;AAED
|
|
1
|
+
{"version":3,"file":"RenderFlags.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/RenderFlags.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.isPlanar = exports.TextureUnit = void 0;
|
|
12
12
|
/** Reserved texture units for specific sampler variables, to avoid conflicts between shader components which each have their own textures.
|
|
13
|
+
* WebGL 1 guarantees a minimum of 8 vertex texture units, and iOS provides no more than that.
|
|
14
|
+
* WebGL 2 guarantees a minimum of 15 vertex texture units.
|
|
13
15
|
* @internal
|
|
14
16
|
*/
|
|
15
17
|
var TextureUnit;
|
|
@@ -37,14 +39,17 @@ var TextureUnit;
|
|
|
37
39
|
// Texture unit 7 is overloaded. Therefore receiving shadows and thematic display are mutually exclusive.
|
|
38
40
|
TextureUnit[TextureUnit["ShadowMap"] = TextureUnit.Seven] = "ShadowMap";
|
|
39
41
|
TextureUnit[TextureUnit["ThematicSensors"] = TextureUnit.Seven] = "ThematicSensors";
|
|
40
|
-
//
|
|
42
|
+
// Textures used for up to 3 background or overlay map layers.
|
|
41
43
|
TextureUnit[TextureUnit["RealityMesh0"] = TextureUnit.Two] = "RealityMesh0";
|
|
42
44
|
TextureUnit[TextureUnit["RealityMesh1"] = TextureUnit.VertexLUT] = "RealityMesh1";
|
|
43
45
|
TextureUnit[TextureUnit["RealityMesh2"] = TextureUnit.ShadowMap] = "RealityMesh2";
|
|
46
|
+
// If more than 8 texture units are available, 3 additional background or overlay map layers.
|
|
44
47
|
TextureUnit[TextureUnit["RealityMesh3"] = WebGLRenderingContext.TEXTURE8] = "RealityMesh3";
|
|
45
48
|
TextureUnit[TextureUnit["RealityMesh4"] = WebGLRenderingContext.TEXTURE9] = "RealityMesh4";
|
|
46
49
|
TextureUnit[TextureUnit["RealityMesh5"] = WebGLRenderingContext.TEXTURE10] = "RealityMesh5";
|
|
47
50
|
TextureUnit[TextureUnit["RealityMeshThematicGradient"] = WebGLRenderingContext.TEXTURE11] = "RealityMeshThematicGradient";
|
|
51
|
+
// Lookup table for indexed edges - used only if WebGL 2 is available.
|
|
52
|
+
TextureUnit[TextureUnit["EdgeLUT"] = WebGLRenderingContext.TEXTURE12] = "EdgeLUT";
|
|
48
53
|
})(TextureUnit = exports.TextureUnit || (exports.TextureUnit = {}));
|
|
49
54
|
/** @internal */
|
|
50
55
|
function isPlanar(order) { return order >= 8 /* PlanarBit */; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderFlags.js","sourceRoot":"","sources":["../../../../src/render/webgl/RenderFlags.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,yCAAyC;;;AAuCzC;;GAEG;AACH,IAAY,WAqCX;AArCD,WAAY,WAAW;IACrB,6DAA6D;IAC7D,kCAAO,qBAAqB,CAAC,QAAQ,UAAA,CAAA;IACrC,iCAAM,qBAAqB,CAAC,QAAQ,SAAA,CAAA;IACpC,iCAAM,qBAAqB,CAAC,QAAQ,SAAA,CAAA;IACpC,mCAAQ,qBAAqB,CAAC,QAAQ,WAAA,CAAA;IACtC,kCAAO,qBAAqB,CAAC,QAAQ,UAAA,CAAA;IACrC,kCAAO,qBAAqB,CAAC,QAAQ,UAAA,CAAA;IACrC,iCAAM,qBAAqB,CAAC,QAAQ,SAAA,CAAA;IACpC,mCAAQ,qBAAqB,CAAC,QAAQ,WAAA,CAAA;IAEtC,wCAAa,YAAA,IAAI,gBAAA,CAAA;IACjB,8CAAmB,YAAA,GAAG,sBAAA,CAAA;IACtB,4CAAiB,YAAA,GAAG,oBAAA,CAAA;IACpB,sCAAW,YAAA,GAAG,cAAA,CAAA;IAEd,2CAAgB,YAAA,KAAK,mBAAA,CAAA;IACrB,+CAAoB,YAAA,IAAI,uBAAA,CAAA;IAExB,uCAAY,YAAA,IAAI,eAAA,CAAA;IAEhB,6HAA6H;IAC7H,2CAAgB,YAAA,GAAG,mBAAA,CAAA;IACnB,kDAAuB,YAAA,GAAG,0BAAA,CAAA;IAC1B,wDAA6B,YAAA,GAAG,gCAAA,CAAA;IAEhC,yGAAyG;IACzG,uCAAY,YAAA,KAAK,eAAA,CAAA;IACjB,6CAAkB,YAAA,KAAK,qBAAA,CAAA;IACvB,8LAA8L;IAC9L,0CAAe,YAAA,GAAG,kBAAA,CAAA;IAClB,0CAAe,YAAA,SAAS,kBAAA,CAAA;IACxB,0CAAe,YAAA,SAAS,kBAAA,CAAA;IACxB,0CAAe,qBAAqB,CAAC,QAAQ,kBAAA,CAAA;IAC7C,0CAAe,qBAAqB,CAAC,QAAQ,kBAAA,CAAA;IAC7C,0CAAe,qBAAqB,CAAC,SAAS,kBAAA,CAAA;IAC9C,yDAA8B,qBAAqB,CAAC,SAAS,iCAAA,CAAA;AAC/D,CAAC,EArCW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAqCtB;AAgCD,gBAAgB;AAChB,SAAgB,QAAQ,CAAC,KAAkB,IAAa,OAAO,KAAK,qBAAyB,CAAC,CAAC,CAAC;AAAhG,4BAAgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n/* eslint-disable no-restricted-syntax */\r\n\r\n/** Ordered list of render passes which produce a rendered frame.\r\n * @internal\r\n */\r\nexport const enum RenderPass {\r\n None = 0xff,\r\n Background = 0,\r\n OpaqueLayers, // XY planar models render without depth-testing in order based on priority\r\n OpaqueLinear, // Linear geometry that is opaque and needs to be written to the pick data buffers\r\n OpaquePlanar, // Planar surface geometry that is opaque and needs to be written to the pick data buffers\r\n OpaqueGeneral, // All other opaque geometry (including point clouds and reality meshes) which are not written to the pick data buffers\r\n Classification, // Stencil volumes for normal processing of reality data classification.\r\n TranslucentLayers, // like Layers but drawn without depth write, blending with opaque\r\n Translucent,\r\n HiddenEdge,\r\n Hilite,\r\n OverlayLayers, // Like Layers, but drawn atop all other geometry\r\n WorldOverlay, // Decorations\r\n ViewOverlay, // Decorations\r\n SkyBox,\r\n BackgroundMap,\r\n HiliteClassification, // Secondary hilite pass for stencil volumes to process hilited classifiers for reality data\r\n ClassificationByIndex, // Stencil volumes for processing classification one classifier at a time (used for generating pick data Ids and flashing a single classifier).\r\n HilitePlanarClassification,\r\n PlanarClassification,\r\n VolumeClassifiedRealityData,\r\n COUNT,\r\n}\r\n\r\n/** Describes the type of geometry rendered by a ShaderProgram.\r\n * @internal\r\n */\r\nexport const enum GeometryType {\r\n IndexedTriangles,\r\n IndexedPoints,\r\n ArrayedPoints,\r\n}\r\n\r\n/** Reserved texture units for specific sampler variables, to avoid conflicts between shader components which each have their own textures.\r\n * @internal\r\n */\r\nexport enum TextureUnit {\r\n // For shaders which know exactly which textures will be used\r\n Zero = WebGLRenderingContext.TEXTURE0,\r\n One = WebGLRenderingContext.TEXTURE1,\r\n Two = WebGLRenderingContext.TEXTURE2,\r\n Three = WebGLRenderingContext.TEXTURE3,\r\n Four = WebGLRenderingContext.TEXTURE4,\r\n Five = WebGLRenderingContext.TEXTURE5,\r\n Six = WebGLRenderingContext.TEXTURE6,\r\n Seven = WebGLRenderingContext.TEXTURE7, // Last one available for GLES2\r\n\r\n ClipVolume = Zero,\r\n FeatureSymbology = One,\r\n SurfaceTexture = Two,\r\n LineCode = Two,\r\n\r\n PickFeatureId = Three,\r\n PickDepthAndOrder = Four,\r\n\r\n VertexLUT = Five,\r\n\r\n // Texture unit 6 is overloaded. Therefore classification, hilite classification, and aux channel are all mutually exclusive.\r\n AuxChannelLUT = Six,\r\n PlanarClassification = Six,\r\n PlanarClassificationHilite = Six,\r\n\r\n // Texture unit 7 is overloaded. Therefore receiving shadows and thematic display are mutually exclusive.\r\n ShadowMap = Seven,\r\n ThematicSensors = Seven,\r\n // The number of allowable map layers for either background or overlay map is limited to 3 if only 8 texture units is available (IOS)... 6 layers are available if the hardware supports them.\r\n RealityMesh0 = Two,\r\n RealityMesh1 = VertexLUT, // Reality meshes do not use VertexLUT.\r\n RealityMesh2 = ShadowMap, // Shadow map when picking -- PickDepthAndOrder otherwise....\r\n RealityMesh3 = WebGLRenderingContext.TEXTURE8, // These are used only if available.\r\n RealityMesh4 = WebGLRenderingContext.TEXTURE9,\r\n RealityMesh5 = WebGLRenderingContext.TEXTURE10,\r\n RealityMeshThematicGradient = WebGLRenderingContext.TEXTURE11,\r\n}\r\n\r\n/**\r\n * Defines the order in which primitives are rendered within a GLESList. This is chiefly\r\n * used to sort primitives which originate from the same element. e.g., the blanking fill\r\n * associated with a text field must always render behind the text; the edges of a surface\r\n * must render in front of the surface; etc.\r\n * An exception to the 'same element' rule is provided for planar surfaces and edges thereof\r\n * sketched onto non-planar surfaces. When the depth test is ambiguous the planar geometry\r\n * is always on top of the non-planar surface. This addresses z-fighting when shapes are\r\n * sketched onto surfaces, e.g. as part of push-pull modeling workflows.\r\n * @internal\r\n */\r\nexport const enum RenderOrder {\r\n None = 0,\r\n Background = 1, // i.e., background map drawn without depth\r\n BlankingRegion = 2,\r\n UnlitSurface = 3, // Distinction only made for whether or not to apply ambient occlusion.\r\n LitSurface = 4,\r\n Linear = 5,\r\n Edge = 6,\r\n Silhouette = 7,\r\n\r\n PlanarBit = 8,\r\n\r\n PlanarUnlitSurface = UnlitSurface | PlanarBit,\r\n PlanarLitSurface = LitSurface | PlanarBit,\r\n PlanarLinear = Linear | PlanarBit,\r\n PlanarEdge = Edge | PlanarBit,\r\n PlanarSilhouette = Silhouette | PlanarBit,\r\n}\r\n\r\n/** @internal */\r\nexport function isPlanar(order: RenderOrder): boolean { return order >= RenderOrder.PlanarBit; }\r\n\r\n/** Flags indicating operations to be performed by the post-process composite step.\r\n * @internal\r\n */\r\nexport const enum CompositeFlags {\r\n None = 0,\r\n Translucent = 1 << 0,\r\n Hilite = 1 << 1,\r\n AmbientOcclusion = 1 << 2,\r\n}\r\n\r\n/** Location in boolean array of SurfaceFlags above.\r\n * @internal\r\n */\r\nexport const enum SurfaceBitIndex {\r\n HasTexture,\r\n ApplyLighting,\r\n HasNormals,\r\n IgnoreMaterial,\r\n TransparencyThreshold,\r\n BackgroundFill,\r\n HasColorAndNormal,\r\n OverrideRgb,\r\n NoFaceFront,\r\n HasMaterialAtlas,\r\n Count,\r\n}\r\n\r\n/** Describes attributes of a MeshGeometry object. Used to conditionally execute portion of shader programs.\r\n * @internal\r\n */\r\nexport const enum SurfaceFlags {\r\n None = 0,\r\n HasTexture = 1 << SurfaceBitIndex.HasTexture,\r\n ApplyLighting = 1 << SurfaceBitIndex.ApplyLighting,\r\n HasNormals = 1 << SurfaceBitIndex.HasNormals,\r\n\r\n // NB: In u_surfaceFlags provided to shader, indicates material color/specular/alpha should be ignored. Has no effect on texture.\r\n // If a given feature has the 'ignore material' override set, v_surfaceFlags will be modified to turn on IgnoreMaterial and turn off HasTexture.\r\n IgnoreMaterial = 1 << SurfaceBitIndex.IgnoreMaterial,\r\n\r\n // In HiddenLine and SolidFill modes, a transparency threshold is supplied; surfaces that are more transparent than the threshold are not rendered.\r\n TransparencyThreshold = 1 << SurfaceBitIndex.TransparencyThreshold,\r\n\r\n // For HiddenLine mode\r\n BackgroundFill = 1 << SurfaceBitIndex.BackgroundFill,\r\n\r\n // For textured meshes, the color index in the vertex LUT is unused - we place the normal there instead.\r\n // For untextured lit meshes, the normal is placed after the feature ID.\r\n HasColorAndNormal = 1 << SurfaceBitIndex.HasColorAndNormal,\r\n // For textured meshes, use rgb from v_color instead of from texture.\r\n OverrideRgb = 1 << SurfaceBitIndex.OverrideRgb,\r\n // For geometry with fixed normals (terrain meshes) we must avoid front facing normal reversal or skirts will be incorrectly lit.\r\n NoFaceFront = 1 << SurfaceBitIndex.NoFaceFront,\r\n HasMaterialAtlas = 1 << SurfaceBitIndex.HasMaterialAtlas,\r\n}\r\n\r\n/** @internal */\r\n/** 16-bit flags indicating what aspects of a feature's symbology are overridden.\r\n * @internal\r\n */\r\nexport const enum OvrFlags {\r\n None = 0,\r\n Visibility = 1 << 0,\r\n Rgb = 1 << 1,\r\n Alpha = 1 << 2,\r\n IgnoreMaterial = 1 << 3, // ignore material color, specular properties, and texture.\r\n Flashed = 1 << 4,\r\n NonLocatable = 1 << 5, // do not draw during pick - allows geometry beneath to be picked.\r\n LineCode = 1 << 6,\r\n Weight = 1 << 7,\r\n Hilited = 1 << 8,\r\n Emphasized = 1 << 9, // rendered with \"emphasis\" hilite settings (silhouette etc).\r\n ViewIndependentTransparency = 1 << 10,\r\n\r\n Rgba = Rgb | Alpha,\r\n}\r\n\r\n/** @internal */\r\nexport const enum IsTranslucent { No, Yes, Maybe }\r\n"]}
|
|
1
|
+
{"version":3,"file":"RenderFlags.js","sourceRoot":"","sources":["../../../../src/render/webgl/RenderFlags.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,yCAAyC;;;AAuCzC;;;;GAIG;AACH,IAAY,WA4CX;AA5CD,WAAY,WAAW;IACrB,6DAA6D;IAC7D,kCAAO,qBAAqB,CAAC,QAAQ,UAAA,CAAA;IACrC,iCAAM,qBAAqB,CAAC,QAAQ,SAAA,CAAA;IACpC,iCAAM,qBAAqB,CAAC,QAAQ,SAAA,CAAA;IACpC,mCAAQ,qBAAqB,CAAC,QAAQ,WAAA,CAAA;IACtC,kCAAO,qBAAqB,CAAC,QAAQ,UAAA,CAAA;IACrC,kCAAO,qBAAqB,CAAC,QAAQ,UAAA,CAAA;IACrC,iCAAM,qBAAqB,CAAC,QAAQ,SAAA,CAAA;IACpC,mCAAQ,qBAAqB,CAAC,QAAQ,WAAA,CAAA;IAEtC,wCAAa,YAAA,IAAI,gBAAA,CAAA;IACjB,8CAAmB,YAAA,GAAG,sBAAA,CAAA;IACtB,4CAAiB,YAAA,GAAG,oBAAA,CAAA;IACpB,sCAAW,YAAA,GAAG,cAAA,CAAA;IAEd,2CAAgB,YAAA,KAAK,mBAAA,CAAA;IACrB,+CAAoB,YAAA,IAAI,uBAAA,CAAA;IAExB,uCAAY,YAAA,IAAI,eAAA,CAAA;IAEhB,6HAA6H;IAC7H,2CAAgB,YAAA,GAAG,mBAAA,CAAA;IACnB,kDAAuB,YAAA,GAAG,0BAAA,CAAA;IAC1B,wDAA6B,YAAA,GAAG,gCAAA,CAAA;IAEhC,yGAAyG;IACzG,uCAAY,YAAA,KAAK,eAAA,CAAA;IACjB,6CAAkB,YAAA,KAAK,qBAAA,CAAA;IAEvB,8DAA8D;IAC9D,0CAAe,YAAA,GAAG,kBAAA,CAAA;IAClB,0CAAe,YAAA,SAAS,kBAAA,CAAA;IACxB,0CAAe,YAAA,SAAS,kBAAA,CAAA;IAExB,6FAA6F;IAC7F,0CAAe,qBAAqB,CAAC,QAAQ,kBAAA,CAAA;IAC7C,0CAAe,qBAAqB,CAAC,QAAQ,kBAAA,CAAA;IAC7C,0CAAe,qBAAqB,CAAC,SAAS,kBAAA,CAAA;IAE9C,yDAA8B,qBAAqB,CAAC,SAAS,iCAAA,CAAA;IAE7D,sEAAsE;IACtE,qCAAU,qBAAqB,CAAC,SAAS,aAAA,CAAA;AAC3C,CAAC,EA5CW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QA4CtB;AAgCD,gBAAgB;AAChB,SAAgB,QAAQ,CAAC,KAAkB,IAAa,OAAO,KAAK,qBAAyB,CAAC,CAAC,CAAC;AAAhG,4BAAgG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n/* eslint-disable no-restricted-syntax */\r\n\r\n/** Ordered list of render passes which produce a rendered frame.\r\n * @internal\r\n */\r\nexport const enum RenderPass {\r\n None = 0xff,\r\n Background = 0,\r\n OpaqueLayers, // XY planar models render without depth-testing in order based on priority\r\n OpaqueLinear, // Linear geometry that is opaque and needs to be written to the pick data buffers\r\n OpaquePlanar, // Planar surface geometry that is opaque and needs to be written to the pick data buffers\r\n OpaqueGeneral, // All other opaque geometry (including point clouds and reality meshes) which are not written to the pick data buffers\r\n Classification, // Stencil volumes for normal processing of reality data classification.\r\n TranslucentLayers, // like Layers but drawn without depth write, blending with opaque\r\n Translucent,\r\n HiddenEdge,\r\n Hilite,\r\n OverlayLayers, // Like Layers, but drawn atop all other geometry\r\n WorldOverlay, // Decorations\r\n ViewOverlay, // Decorations\r\n SkyBox,\r\n BackgroundMap,\r\n HiliteClassification, // Secondary hilite pass for stencil volumes to process hilited classifiers for reality data\r\n ClassificationByIndex, // Stencil volumes for processing classification one classifier at a time (used for generating pick data Ids and flashing a single classifier).\r\n HilitePlanarClassification,\r\n PlanarClassification,\r\n VolumeClassifiedRealityData,\r\n COUNT,\r\n}\r\n\r\n/** Describes the type of geometry rendered by a ShaderProgram.\r\n * @internal\r\n */\r\nexport const enum GeometryType {\r\n IndexedTriangles,\r\n IndexedPoints,\r\n ArrayedPoints,\r\n}\r\n\r\n/** Reserved texture units for specific sampler variables, to avoid conflicts between shader components which each have their own textures.\r\n * WebGL 1 guarantees a minimum of 8 vertex texture units, and iOS provides no more than that.\r\n * WebGL 2 guarantees a minimum of 15 vertex texture units.\r\n * @internal\r\n */\r\nexport enum TextureUnit {\r\n // For shaders which know exactly which textures will be used\r\n Zero = WebGLRenderingContext.TEXTURE0,\r\n One = WebGLRenderingContext.TEXTURE1,\r\n Two = WebGLRenderingContext.TEXTURE2,\r\n Three = WebGLRenderingContext.TEXTURE3,\r\n Four = WebGLRenderingContext.TEXTURE4,\r\n Five = WebGLRenderingContext.TEXTURE5,\r\n Six = WebGLRenderingContext.TEXTURE6,\r\n Seven = WebGLRenderingContext.TEXTURE7, // Last one guaranteed available for WebGL 1\r\n\r\n ClipVolume = Zero,\r\n FeatureSymbology = One,\r\n SurfaceTexture = Two,\r\n LineCode = Two,\r\n\r\n PickFeatureId = Three,\r\n PickDepthAndOrder = Four,\r\n\r\n VertexLUT = Five,\r\n\r\n // Texture unit 6 is overloaded. Therefore classification, hilite classification, and aux channel are all mutually exclusive.\r\n AuxChannelLUT = Six,\r\n PlanarClassification = Six,\r\n PlanarClassificationHilite = Six,\r\n\r\n // Texture unit 7 is overloaded. Therefore receiving shadows and thematic display are mutually exclusive.\r\n ShadowMap = Seven,\r\n ThematicSensors = Seven,\r\n\r\n // Textures used for up to 3 background or overlay map layers.\r\n RealityMesh0 = Two,\r\n RealityMesh1 = VertexLUT, // Reality meshes do not use VertexLUT.\r\n RealityMesh2 = ShadowMap, // Shadow map when picking -- PickDepthAndOrder otherwise....\r\n\r\n // If more than 8 texture units are available, 3 additional background or overlay map layers.\r\n RealityMesh3 = WebGLRenderingContext.TEXTURE8,\r\n RealityMesh4 = WebGLRenderingContext.TEXTURE9,\r\n RealityMesh5 = WebGLRenderingContext.TEXTURE10,\r\n\r\n RealityMeshThematicGradient = WebGLRenderingContext.TEXTURE11,\r\n\r\n // Lookup table for indexed edges - used only if WebGL 2 is available.\r\n EdgeLUT = WebGLRenderingContext.TEXTURE12,\r\n}\r\n\r\n/**\r\n * Defines the order in which primitives are rendered within a GLESList. This is chiefly\r\n * used to sort primitives which originate from the same element. e.g., the blanking fill\r\n * associated with a text field must always render behind the text; the edges of a surface\r\n * must render in front of the surface; etc.\r\n * An exception to the 'same element' rule is provided for planar surfaces and edges thereof\r\n * sketched onto non-planar surfaces. When the depth test is ambiguous the planar geometry\r\n * is always on top of the non-planar surface. This addresses z-fighting when shapes are\r\n * sketched onto surfaces, e.g. as part of push-pull modeling workflows.\r\n * @internal\r\n */\r\nexport const enum RenderOrder {\r\n None = 0,\r\n Background = 1, // i.e., background map drawn without depth\r\n BlankingRegion = 2,\r\n UnlitSurface = 3, // Distinction only made for whether or not to apply ambient occlusion.\r\n LitSurface = 4,\r\n Linear = 5,\r\n Edge = 6,\r\n Silhouette = 7,\r\n\r\n PlanarBit = 8,\r\n\r\n PlanarUnlitSurface = UnlitSurface | PlanarBit,\r\n PlanarLitSurface = LitSurface | PlanarBit,\r\n PlanarLinear = Linear | PlanarBit,\r\n PlanarEdge = Edge | PlanarBit,\r\n PlanarSilhouette = Silhouette | PlanarBit,\r\n}\r\n\r\n/** @internal */\r\nexport function isPlanar(order: RenderOrder): boolean { return order >= RenderOrder.PlanarBit; }\r\n\r\n/** Flags indicating operations to be performed by the post-process composite step.\r\n * @internal\r\n */\r\nexport const enum CompositeFlags {\r\n None = 0,\r\n Translucent = 1 << 0,\r\n Hilite = 1 << 1,\r\n AmbientOcclusion = 1 << 2,\r\n}\r\n\r\n/** Location in boolean array of SurfaceFlags above.\r\n * @internal\r\n */\r\nexport const enum SurfaceBitIndex {\r\n HasTexture,\r\n ApplyLighting,\r\n HasNormals,\r\n IgnoreMaterial,\r\n TransparencyThreshold,\r\n BackgroundFill,\r\n HasColorAndNormal,\r\n OverrideRgb,\r\n NoFaceFront,\r\n HasMaterialAtlas,\r\n Count,\r\n}\r\n\r\n/** Describes attributes of a MeshGeometry object. Used to conditionally execute portion of shader programs.\r\n * @internal\r\n */\r\nexport const enum SurfaceFlags {\r\n None = 0,\r\n HasTexture = 1 << SurfaceBitIndex.HasTexture,\r\n ApplyLighting = 1 << SurfaceBitIndex.ApplyLighting,\r\n HasNormals = 1 << SurfaceBitIndex.HasNormals,\r\n\r\n // NB: In u_surfaceFlags provided to shader, indicates material color/specular/alpha should be ignored. Has no effect on texture.\r\n // If a given feature has the 'ignore material' override set, v_surfaceFlags will be modified to turn on IgnoreMaterial and turn off HasTexture.\r\n IgnoreMaterial = 1 << SurfaceBitIndex.IgnoreMaterial,\r\n\r\n // In HiddenLine and SolidFill modes, a transparency threshold is supplied; surfaces that are more transparent than the threshold are not rendered.\r\n TransparencyThreshold = 1 << SurfaceBitIndex.TransparencyThreshold,\r\n\r\n // For HiddenLine mode\r\n BackgroundFill = 1 << SurfaceBitIndex.BackgroundFill,\r\n\r\n // For textured meshes, the color index in the vertex LUT is unused - we place the normal there instead.\r\n // For untextured lit meshes, the normal is placed after the feature ID.\r\n HasColorAndNormal = 1 << SurfaceBitIndex.HasColorAndNormal,\r\n // For textured meshes, use rgb from v_color instead of from texture.\r\n OverrideRgb = 1 << SurfaceBitIndex.OverrideRgb,\r\n // For geometry with fixed normals (terrain meshes) we must avoid front facing normal reversal or skirts will be incorrectly lit.\r\n NoFaceFront = 1 << SurfaceBitIndex.NoFaceFront,\r\n HasMaterialAtlas = 1 << SurfaceBitIndex.HasMaterialAtlas,\r\n}\r\n\r\n/** @internal */\r\n/** 16-bit flags indicating what aspects of a feature's symbology are overridden.\r\n * @internal\r\n */\r\nexport const enum OvrFlags {\r\n None = 0,\r\n Visibility = 1 << 0,\r\n Rgb = 1 << 1,\r\n Alpha = 1 << 2,\r\n IgnoreMaterial = 1 << 3, // ignore material color, specular properties, and texture.\r\n Flashed = 1 << 4,\r\n NonLocatable = 1 << 5, // do not draw during pick - allows geometry beneath to be picked.\r\n LineCode = 1 << 6,\r\n Weight = 1 << 7,\r\n Hilited = 1 << 8,\r\n Emphasized = 1 << 9, // rendered with \"emphasis\" hilite settings (silhouette etc).\r\n ViewIndependentTransparency = 1 << 10,\r\n\r\n Rgba = Rgb | Alpha,\r\n}\r\n\r\n/** @internal */\r\nexport const enum IsTranslucent { No, Yes, Maybe }\r\n"]}
|
|
@@ -315,10 +315,10 @@ class Geometry {
|
|
|
315
315
|
}
|
|
316
316
|
enableVolumeClassifier(textures, depth, width, height) {
|
|
317
317
|
(0, core_bentley_1.assert)(undefined === this.volClassColorStencil && undefined === this.volClassCopyZ && undefined === this.volClassSetBlend && undefined === this.volClassBlend);
|
|
318
|
-
this.volClassColorStencil = CachedGeometry_1.ViewportQuadGeometry.create(
|
|
319
|
-
this.volClassCopyZ = CachedGeometry_1.SingleTexturedViewportQuadGeometry.createGeometry(depth.getHandle(),
|
|
318
|
+
this.volClassColorStencil = CachedGeometry_1.ViewportQuadGeometry.create(20 /* VolClassColorUsingStencil */);
|
|
319
|
+
this.volClassCopyZ = CachedGeometry_1.SingleTexturedViewportQuadGeometry.createGeometry(depth.getHandle(), 30 /* VolClassCopyZ */);
|
|
320
320
|
this.volClassSetBlend = CachedGeometry_1.VolumeClassifierGeometry.createVCGeometry(depth.getHandle());
|
|
321
|
-
this.volClassBlend = CachedGeometry_1.SingleTexturedViewportQuadGeometry.createGeometry(textures.volClassBlend.getHandle(),
|
|
321
|
+
this.volClassBlend = CachedGeometry_1.SingleTexturedViewportQuadGeometry.createGeometry(textures.volClassBlend.getHandle(), 32 /* VolClassBlend */);
|
|
322
322
|
if (!System_1.System.instance.capabilities.supportsFragDepth)
|
|
323
323
|
this.volClassCopyZWithPoints = CachedGeometry_1.ScreenPointsGeometry.createGeometry(width, height, depth.getHandle());
|
|
324
324
|
return undefined !== this.volClassColorStencil && undefined !== this.volClassCopyZ && undefined !== this.volClassSetBlend && undefined !== this.volClassBlend
|
|
@@ -1598,8 +1598,8 @@ class MRTGeometry extends Geometry {
|
|
|
1598
1598
|
return false;
|
|
1599
1599
|
(0, core_bentley_1.assert)(undefined === this.copyPickBuffers);
|
|
1600
1600
|
this.copyPickBuffers = CachedGeometry_1.CopyPickBufferGeometry.createGeometry(textures.featureId.getHandle(), textures.depthAndOrder.getHandle());
|
|
1601
|
-
this.clearTranslucent = CachedGeometry_1.ViewportQuadGeometry.create(
|
|
1602
|
-
this.clearPickAndColor = CachedGeometry_1.ViewportQuadGeometry.create(
|
|
1601
|
+
this.clearTranslucent = CachedGeometry_1.ViewportQuadGeometry.create(16 /* OITClearTranslucent */);
|
|
1602
|
+
this.clearPickAndColor = CachedGeometry_1.ViewportQuadGeometry.create(21 /* ClearPickAndColor */);
|
|
1603
1603
|
return undefined !== this.copyPickBuffers && undefined !== this.clearTranslucent && undefined !== this.clearPickAndColor;
|
|
1604
1604
|
}
|
|
1605
1605
|
get isDisposed() {
|
|
@@ -1808,7 +1808,7 @@ class MPGeometry extends Geometry {
|
|
|
1808
1808
|
if (!super.init(textures))
|
|
1809
1809
|
return false;
|
|
1810
1810
|
(0, core_bentley_1.assert)(undefined === this.copyColor);
|
|
1811
|
-
this.copyColor = CachedGeometry_1.SingleTexturedViewportQuadGeometry.createGeometry(textures.featureId.getHandle(),
|
|
1811
|
+
this.copyColor = CachedGeometry_1.SingleTexturedViewportQuadGeometry.createGeometry(textures.featureId.getHandle(), 18 /* CopyColor */);
|
|
1812
1812
|
return undefined !== this.copyColor;
|
|
1813
1813
|
}
|
|
1814
1814
|
get isDisposed() { return super.isDisposed && undefined === this.copyColor; }
|
|
@@ -107,7 +107,7 @@ class ScreenSpaceEffects {
|
|
|
107
107
|
(0, core_bentley_1.assert)(effectGeometry instanceof ScreenSpaceGeometry);
|
|
108
108
|
this._effectGeometry = effectGeometry;
|
|
109
109
|
// NB: We'll replace the texture each time we draw.
|
|
110
|
-
const copyGeometry = CachedGeometry_1.SingleTexturedViewportQuadGeometry.createGeometry(System_1.System.instance.lineCodeTexture.getHandle(),
|
|
110
|
+
const copyGeometry = CachedGeometry_1.SingleTexturedViewportQuadGeometry.createGeometry(System_1.System.instance.lineCodeTexture.getHandle(), 18 /* CopyColor */);
|
|
111
111
|
(0, core_bentley_1.assert)(undefined !== copyGeometry);
|
|
112
112
|
this._copyGeometry = copyGeometry;
|
|
113
113
|
}
|
|
@@ -171,19 +171,20 @@ export declare class ShaderBuilder extends ShaderVariables {
|
|
|
171
171
|
* @internal
|
|
172
172
|
*/
|
|
173
173
|
export declare const enum VertexShaderComponent {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
174
|
+
ComputeQuantizedPosition = 0,
|
|
175
|
+
AdjustRawPosition = 1,
|
|
176
|
+
CheckForEarlyDiscard = 2,
|
|
177
|
+
ComputeFeatureOverrides = 3,
|
|
178
|
+
ComputeMaterial = 4,
|
|
179
|
+
ComputeBaseColor = 5,
|
|
180
|
+
ApplyMaterialColor = 6,
|
|
181
|
+
ApplyFeatureColor = 7,
|
|
182
|
+
AdjustContrast = 8,
|
|
183
|
+
CheckForDiscard = 9,
|
|
184
|
+
ComputePosition = 10,
|
|
185
|
+
CheckForLateDiscard = 11,
|
|
186
|
+
FinalizePosition = 12,
|
|
187
|
+
COUNT = 13
|
|
187
188
|
}
|
|
188
189
|
/** Assembles the source code for a vertex shader from a set of modular components.
|
|
189
190
|
* @internal
|
|
@@ -223,7 +224,8 @@ export declare const enum FragmentShaderComponent {
|
|
|
223
224
|
OverrideFeatureId = 17,
|
|
224
225
|
FinalizeDepth = 18,
|
|
225
226
|
OverrideColor = 19,
|
|
226
|
-
|
|
227
|
+
OverrideRenderOrder = 20,
|
|
228
|
+
COUNT = 21
|
|
227
229
|
}
|
|
228
230
|
/** Assembles the source code for a fragment shader from a set of modular components.
|
|
229
231
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShaderBuilder.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/ShaderBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ShaderBuilder.d.ts","sourceRoot":"","sources":["../../../../src/render/webgl/ShaderBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -529,7 +529,7 @@ exports.ShaderBuilder = ShaderBuilder;
|
|
|
529
529
|
*/
|
|
530
530
|
class VertexShaderBuilder extends ShaderBuilder {
|
|
531
531
|
constructor(flags) {
|
|
532
|
-
super(
|
|
532
|
+
super(13 /* COUNT */, flags);
|
|
533
533
|
this._computedVarying = new Array();
|
|
534
534
|
this.addDefine("MAT_NORM", "g_nmx");
|
|
535
535
|
if (this.usesInstancedGeometry) {
|
|
@@ -552,14 +552,18 @@ class VertexShaderBuilder extends ShaderBuilder {
|
|
|
552
552
|
this._computedVarying.push(computation);
|
|
553
553
|
}
|
|
554
554
|
buildSource(attrMap) {
|
|
555
|
+
var _a;
|
|
555
556
|
const prelude = this.buildPrelude(attrMap);
|
|
556
557
|
const main = new SourceBuilder();
|
|
557
558
|
main.newline();
|
|
558
|
-
const computePosition = this.get(
|
|
559
|
+
const computePosition = this.get(10 /* ComputePosition */);
|
|
559
560
|
(0, core_bentley_1.assert)(undefined !== computePosition);
|
|
560
561
|
if (undefined !== computePosition) {
|
|
561
562
|
prelude.addFunction("vec4 computePosition(vec4 rawPos)", computePosition);
|
|
562
563
|
}
|
|
564
|
+
const computeQPos = (_a = this.get(0 /* ComputeQuantizedPosition */)) !== null && _a !== void 0 ? _a : "return a_pos;";
|
|
565
|
+
prelude.addFunction("vec3 computeQuantizedPosition()", computeQPos);
|
|
566
|
+
main.addline(" vec3 qpos = computeQuantizedPosition();");
|
|
563
567
|
// Initialization logic that should occur at start of main() - primarily global variables whose values
|
|
564
568
|
// are too complex to compute inline or which depend on uniforms and/or other globals.
|
|
565
569
|
for (const init of this._initializers) {
|
|
@@ -568,56 +572,56 @@ class VertexShaderBuilder extends ShaderBuilder {
|
|
|
568
572
|
else
|
|
569
573
|
main.addline(` { ${init} }\n`);
|
|
570
574
|
}
|
|
571
|
-
main.addline(" vec4 rawPosition = unquantizeVertexPosition(
|
|
572
|
-
const adjustRawPosition = this.get(
|
|
575
|
+
main.addline(" vec4 rawPosition = unquantizeVertexPosition(qpos, u_qOrigin, u_qScale);");
|
|
576
|
+
const adjustRawPosition = this.get(1 /* AdjustRawPosition */);
|
|
573
577
|
if (undefined !== adjustRawPosition) {
|
|
574
578
|
prelude.addFunction("vec4 adjustRawPosition(vec4 rawPos)", adjustRawPosition);
|
|
575
579
|
main.addline(" rawPosition = adjustRawPosition(rawPosition);");
|
|
576
580
|
}
|
|
577
|
-
const checkForEarlyDiscard = this.get(
|
|
581
|
+
const checkForEarlyDiscard = this.get(2 /* CheckForEarlyDiscard */);
|
|
578
582
|
if (undefined !== checkForEarlyDiscard) {
|
|
579
583
|
prelude.addFunction("bool checkForEarlyDiscard(vec4 rawPos)", checkForEarlyDiscard);
|
|
580
584
|
main.add(Vertex_1.earlyVertexDiscard);
|
|
581
585
|
}
|
|
582
|
-
const computeFeatureOverrides = this.get(
|
|
586
|
+
const computeFeatureOverrides = this.get(3 /* ComputeFeatureOverrides */);
|
|
583
587
|
if (undefined !== computeFeatureOverrides) {
|
|
584
588
|
prelude.addFunction("void computeFeatureOverrides()", computeFeatureOverrides);
|
|
585
589
|
main.addline(" computeFeatureOverrides();");
|
|
586
590
|
}
|
|
587
|
-
const computeMaterial = this.get(
|
|
591
|
+
const computeMaterial = this.get(4 /* ComputeMaterial */);
|
|
588
592
|
if (undefined !== computeMaterial) {
|
|
589
593
|
prelude.addFunction("void computeMaterial()", computeMaterial);
|
|
590
594
|
main.addline(" computeMaterial();");
|
|
591
595
|
}
|
|
592
|
-
const computeBaseColor = this.get(
|
|
596
|
+
const computeBaseColor = this.get(5 /* ComputeBaseColor */);
|
|
593
597
|
if (undefined !== computeBaseColor) {
|
|
594
598
|
(0, core_bentley_1.assert)(undefined !== this.find("v_color"));
|
|
595
599
|
prelude.addFunction("vec4 computeBaseColor()", computeBaseColor);
|
|
596
600
|
main.addline(" vec4 baseColor = computeBaseColor();");
|
|
597
|
-
const applyMaterialColor = this.get(
|
|
601
|
+
const applyMaterialColor = this.get(6 /* ApplyMaterialColor */);
|
|
598
602
|
if (undefined !== applyMaterialColor) {
|
|
599
603
|
prelude.addFunction("vec4 applyMaterialColor(vec4 baseColor)", applyMaterialColor);
|
|
600
604
|
main.addline(" baseColor = applyMaterialColor(baseColor);");
|
|
601
605
|
}
|
|
602
|
-
const applyFeatureColor = this.get(
|
|
606
|
+
const applyFeatureColor = this.get(7 /* ApplyFeatureColor */);
|
|
603
607
|
if (undefined !== applyFeatureColor) {
|
|
604
608
|
prelude.addFunction("vec4 applyFeatureColor(vec4 baseColor)", applyFeatureColor);
|
|
605
609
|
main.addline(" baseColor = applyFeatureColor(baseColor);");
|
|
606
610
|
}
|
|
607
|
-
const adjustContrast = this.get(
|
|
611
|
+
const adjustContrast = this.get(8 /* AdjustContrast */);
|
|
608
612
|
if (adjustContrast) {
|
|
609
613
|
prelude.addFunction("vec4 adjustContrast(vec4 baseColor)", adjustContrast);
|
|
610
614
|
main.addline(" baseColor = adjustContrast(baseColor);");
|
|
611
615
|
}
|
|
612
616
|
main.addline(" v_color = baseColor;");
|
|
613
617
|
}
|
|
614
|
-
const checkForDiscard = this.get(
|
|
618
|
+
const checkForDiscard = this.get(9 /* CheckForDiscard */);
|
|
615
619
|
if (undefined !== checkForDiscard) {
|
|
616
620
|
prelude.addFunction("bool checkForDiscard()", checkForDiscard);
|
|
617
621
|
main.add(Vertex_1.vertexDiscard);
|
|
618
622
|
}
|
|
619
623
|
main.addline(" gl_Position = computePosition(rawPosition);");
|
|
620
|
-
const finalizePos = this.get(
|
|
624
|
+
const finalizePos = this.get(12 /* FinalizePosition */);
|
|
621
625
|
if (undefined !== finalizePos) {
|
|
622
626
|
prelude.addFunction("vec4 finalizePosition(vec4 pos)", finalizePos);
|
|
623
627
|
main.addline(" gl_Position = finalizePosition(gl_Position);");
|
|
@@ -625,7 +629,7 @@ class VertexShaderBuilder extends ShaderBuilder {
|
|
|
625
629
|
for (const comp of this._computedVarying) {
|
|
626
630
|
main.addline(` ${comp}`);
|
|
627
631
|
}
|
|
628
|
-
const checkForLateDiscard = this.get(
|
|
632
|
+
const checkForLateDiscard = this.get(11 /* CheckForLateDiscard */);
|
|
629
633
|
if (undefined !== checkForLateDiscard) {
|
|
630
634
|
prelude.addFunction("bool checkForLateDiscard()", checkForLateDiscard);
|
|
631
635
|
main.addline(Vertex_1.lateVertexDiscard);
|
|
@@ -644,7 +648,7 @@ exports.VertexShaderBuilder = VertexShaderBuilder;
|
|
|
644
648
|
*/
|
|
645
649
|
class FragmentShaderBuilder extends ShaderBuilder {
|
|
646
650
|
constructor(flags) {
|
|
647
|
-
super(
|
|
651
|
+
super(21 /* COUNT */, flags);
|
|
648
652
|
this.requiresEarlyZWorkaround = false;
|
|
649
653
|
if (System_1.System.instance.capabilities.isWebGL2)
|
|
650
654
|
this.addFragOutput("FragColor", -1);
|