x_ite 4.7.5 → 4.7.6

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.
@@ -0,0 +1,15 @@
1
+ {
2
+ // Verwendet IntelliSense zum Ermitteln möglicher Attribute.
3
+ // Zeigen Sie auf vorhandene Attribute, um die zugehörigen Beschreibungen anzuzeigen.
4
+ // Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "type": "pwa-chrome",
9
+ "request": "launch",
10
+ "name": "Launch Chrome against localhost",
11
+ "url": "http://localhost/src/x_ite.html",
12
+ "webRoot": "${workspaceFolder}"
13
+ }
14
+ ]
15
+ }
@@ -1,7 +1,5 @@
1
1
  {
2
2
  "files.exclude": {
3
- ".vscode/ipch": true,
4
- "**/.bzr": true,
5
3
  "**/*~": true,
6
4
  "**/node_modules": true
7
5
  },
@@ -12,4 +10,4 @@
12
10
  "files.trimFinalNewlines": true,
13
11
  "files.trimTrailingWhitespace": true,
14
12
  "files.eol": "\n"
15
- }
13
+ }
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  Introduction
10
10
  --------------------------------------
11
11
 
12
- X_ITE is an X3D JavaScript WebGL Browser. It is a full standard X3D WebGL browser for all major web browsers.
12
+ X_ITE is an X3D JavaScript WebGL Browser. It is a full standard X3D WebGL browser for all major web browsers, which also can be used as a VRML viewer.
13
13
 
14
14
  For more information and live preview please have a look at the [Home Page](https://create3000.github.io/x_ite/).
15
15
 
package/dist/example.html CHANGED
@@ -2,8 +2,8 @@
2
2
  <html>
3
3
  <head>
4
4
  <meta charset="utf-8"/>
5
- <link rel="stylesheet" type="text/css" href="https://create3000.github.io/code/x_ite/4.7.5/dist/x_ite.css"/>
6
- <script type="text/javascript" src="https://create3000.github.io/code/x_ite/4.7.5/dist/x_ite.min.js"></script>
5
+ <link rel="stylesheet" type="text/css" href="https://create3000.github.io/code/x_ite/4.7.6/dist/x_ite.css"/>
6
+ <script type="text/javascript" src="https://create3000.github.io/code/x_ite/4.7.6/dist/x_ite.min.js"></script>
7
7
  <style>
8
8
  X3DCanvas {
9
9
  width: 1000px;
package/dist/x_ite.css CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v4.7.5-1122 */
1
+ /* X_ITE v4.7.6-1127 */
2
2
  @charset "utf-8";
3
3
  @import url(https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700,700italic);
4
4
  X3DCanvas .x_ite-private-splash-screen {
@@ -315,7 +315,7 @@ X3DCanvas #context-menu-layer {
315
315
  z-index: 0 !important;
316
316
  }
317
317
  .x_ite-private-menu.x_ite-private-menu-title:before {
318
- content: "X_ITE Browser v4.7.5";
318
+ content: "X_ITE Browser v4.7.6";
319
319
  display: block;
320
320
  padding: 4px 32px 4px 8px;
321
321
  font-weight: bold;
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v4.7.5-1122 */
1
+ /* X_ITE v4.7.6-1127 */
2
2
 
3
3
  (function () {
4
4
 
@@ -24858,7 +24858,7 @@ function (SFBool,
24858
24858
 
24859
24859
  define ('x_ite/Browser/VERSION',[],function ()
24860
24860
  {
24861
- return "4.7.5";
24861
+ return "4.7.6";
24862
24862
  });
24863
24863
 
24864
24864
  /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
@@ -70351,7 +70351,7 @@ function (Fields,
70351
70351
  backMaterialNode = appearanceNode .backMaterialNode,
70352
70352
  frontShaderNode = appearanceNode .shaderNode || materialNode .getShader (context .browser, context .shadow);
70353
70353
 
70354
- if (this .solid || !backMaterialNode || context .wireframe)
70354
+ if (this .solid || !backMaterialNode || frontShaderNode .wireframe)
70355
70355
  {
70356
70356
  this .displayGeometry (gl, context, appearanceNode, frontShaderNode, true, true);
70357
70357
  }
@@ -70401,12 +70401,19 @@ function (Fields,
70401
70401
 
70402
70402
  // Draw depending on wireframe, solid and transparent.
70403
70403
 
70404
- if (context .wireframe)
70404
+ if (shaderNode .wireframe)
70405
70405
  {
70406
- // Wireframes are always solid so only one drawing call is needed.
70406
+ // Points and Wireframes.
70407
70407
 
70408
- for (let i = 0, length = this .vertexCount; i < length; i += 3)
70409
- gl .drawArrays (shaderNode .primitiveMode, i, 3);
70408
+ if (shaderNode .primitiveMode === gl .POINTS)
70409
+ {
70410
+ gl .drawArrays (shaderNode .primitiveMode, 0, this .vertexCount);
70411
+ }
70412
+ else
70413
+ {
70414
+ for (let i = 0, length = this .vertexCount; i < length; i += 3)
70415
+ gl .drawArrays (shaderNode .primitiveMode, i, 3);
70416
+ }
70410
70417
  }
70411
70418
  else
70412
70419
  {
@@ -70422,7 +70429,7 @@ function (Fields,
70422
70429
 
70423
70430
  // Render back.
70424
70431
 
70425
- if (back)
70432
+ if (back && !this .solid)
70426
70433
  {
70427
70434
  gl .cullFace (gl .FRONT);
70428
70435
  gl .drawArrays (shaderNode .primitiveMode, 0, this .vertexCount);
@@ -70510,7 +70517,7 @@ function (Fields,
70510
70517
  backMaterialNode = appearanceNode .backMaterialNode,
70511
70518
  frontShaderNode = appearanceNode .shaderNode || materialNode .getShader (context .browser, context .shadow);
70512
70519
 
70513
- if (this .solid || !backMaterialNode || context .wireframe)
70520
+ if (this .solid || !backMaterialNode || frontShaderNode .wireframe)
70514
70521
  {
70515
70522
  this .displayParticlesGeometry (gl, context, appearanceNode, frontShaderNode, true, true, particles, numParticles);
70516
70523
  }
@@ -70570,7 +70577,7 @@ function (Fields,
70570
70577
 
70571
70578
  if (shaderNode .wireframe)
70572
70579
  {
70573
- // Wireframes are always solid so only one drawing call is needed.
70580
+ // Points and Wireframes.
70574
70581
 
70575
70582
  for (let p = 0; p < numParticles; ++ p)
70576
70583
  {
@@ -70584,8 +70591,15 @@ function (Fields,
70584
70591
 
70585
70592
  shaderNode .setParticle (gl, particle, modelViewMatrix);
70586
70593
 
70587
- for (let i = 0, length = this .vertexCount; i < length; i += 3)
70588
- gl .drawArrays (shaderNode .primitiveMode, i, 3);
70594
+ if (shaderNode .primitiveMode === gl .POINTS)
70595
+ {
70596
+ gl .drawArrays (shaderNode .primitiveMode, 0, this .vertexCount);
70597
+ }
70598
+ else
70599
+ {
70600
+ for (let i = 0, length = this .vertexCount; i < length; i += 3)
70601
+ gl .drawArrays (shaderNode .primitiveMode, i, 3);
70602
+ }
70589
70603
  }
70590
70604
  }
70591
70605
  else
@@ -70612,7 +70626,7 @@ function (Fields,
70612
70626
 
70613
70627
  gl .enable (gl .CULL_FACE);
70614
70628
 
70615
- if (back)
70629
+ if (back && !this .solid)
70616
70630
  {
70617
70631
  gl .cullFace (gl .FRONT);
70618
70632
  gl .drawArrays (shaderNode .primitiveMode, 0, this .vertexCount);
@@ -70755,6 +70769,35 @@ function (X3DGeometryNode,
70755
70769
  {
70756
70770
  return false;
70757
70771
  },
70772
+ transfer: function ()
70773
+ {
70774
+ // Line stipple support.
70775
+
70776
+ if (this .getGeometryType () === 1)
70777
+ {
70778
+ const
70779
+ texCoords = this .getTexCoords (),
70780
+ vertices = this .getVertices ();
70781
+
70782
+ this .getMultiTexCoords () .push (texCoords);
70783
+
70784
+ for (let i = 0, length = vertices .length; i < length; i += 8)
70785
+ {
70786
+ texCoords .push (vertices [i],
70787
+ vertices [i + 1],
70788
+ vertices [i + 2],
70789
+ vertices [i + 3],
70790
+ vertices [i],
70791
+ vertices [i + 1],
70792
+ vertices [i + 2],
70793
+ vertices [i + 3]);
70794
+ }
70795
+
70796
+ texCoords .shrinkToFit ();
70797
+ }
70798
+
70799
+ X3DGeometryNode .prototype .transfer .call (this);
70800
+ },
70758
70801
  display: function (gl, context)
70759
70802
  {
70760
70803
  try
@@ -70790,6 +70833,9 @@ function (X3DGeometryNode,
70790
70833
  if (this .colorMaterial)
70791
70834
  shaderNode .enableColorAttribute (gl, this .colorBuffer);
70792
70835
 
70836
+ if (this .getMultiTexCoords () .length)
70837
+ shaderNode .enableTexCoordAttribute (gl, this .texCoordBuffers, true);
70838
+
70793
70839
  shaderNode .enableVertexAttribute (gl, this .vertexBuffer);
70794
70840
 
70795
70841
  // Wireframes are always solid so only one drawing call is needed.
@@ -70805,7 +70851,9 @@ function (X3DGeometryNode,
70805
70851
  if (this .colorMaterial)
70806
70852
  shaderNode .disableColorAttribute (gl);
70807
70853
 
70808
- shaderNode .disableTexCoordAttribute (gl);
70854
+ if (this .getMultiTexCoords () .length)
70855
+ shaderNode .disableTexCoordAttribute (gl);
70856
+
70809
70857
  shaderNode .disable (gl);
70810
70858
 
70811
70859
  if (blendModeNode)
@@ -76994,7 +77042,7 @@ function (Fields,
76994
77042
 
76995
77043
  this .addType (X3DConstants .DirectionalLight);
76996
77044
 
76997
- if (executionContext .getSpecificationVersion () == "2.0")
77045
+ if (executionContext .getSpecificationVersion () === "2.0")
76998
77046
  this .global_ = true;
76999
77047
  }
77000
77048
 
@@ -102639,7 +102687,7 @@ function (Fields,
102639
102687
 
102640
102688
  this .addType (X3DConstants .Switch);
102641
102689
 
102642
- if (executionContext .getSpecificationVersion () == "2.0")
102690
+ if (executionContext .getSpecificationVersion () === "2.0")
102643
102691
  this .addAlias ("choice", this .children_);
102644
102692
 
102645
102693
  this .childNode = null;
@@ -106542,7 +106590,7 @@ function (Fields,
106542
106590
 
106543
106591
  this .addType (X3DConstants .Collision);
106544
106592
 
106545
- if (executionContext .getSpecificationVersion () == "2.0")
106593
+ if (executionContext .getSpecificationVersion () === "2.0")
106546
106594
  this .addAlias ("collide", this .enabled_); // VRML2
106547
106595
  }
106548
106596
 
@@ -106723,7 +106771,7 @@ function (Fields,
106723
106771
 
106724
106772
  this .addType (X3DConstants .LOD);
106725
106773
 
106726
- if (executionContext .getSpecificationVersion () == "2.0")
106774
+ if (executionContext .getSpecificationVersion () === "2.0")
106727
106775
  this .addAlias ("level", this .children_); // VRML2
106728
106776
 
106729
106777
  this .center_ .setUnit ("length");