x_ite
Version:
X_ITE X3D Browser, view and manipulate X3D, VRML, glTF and other 3D sources in HTML.
1,107 lines (960 loc) • 130 kB
JavaScript
/* X_ITE v11.5.0 */
const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.5.0")];
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ // The require scope
/******/ var __webpack_require__ = {};
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/************************************************************************/
// UNUSED EXPORTS: default
;// external "__X_ITE_X3D__ .Components"
const external_X_ITE_X3D_Components_namespaceObject = __X_ITE_X3D__ .Components;
var external_X_ITE_X3D_Components_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Components_namespaceObject);
;// external "__X_ITE_X3D__ .Fields"
const external_X_ITE_X3D_Fields_namespaceObject = __X_ITE_X3D__ .Fields;
var external_X_ITE_X3D_Fields_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Fields_namespaceObject);
;// external "__X_ITE_X3D__ .X3DFieldDefinition"
const external_X_ITE_X3D_X3DFieldDefinition_namespaceObject = __X_ITE_X3D__ .X3DFieldDefinition;
var external_X_ITE_X3D_X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DFieldDefinition_namespaceObject);
;// external "__X_ITE_X3D__ .FieldDefinitionArray"
const external_X_ITE_X3D_FieldDefinitionArray_namespaceObject = __X_ITE_X3D__ .FieldDefinitionArray;
var external_X_ITE_X3D_FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_FieldDefinitionArray_namespaceObject);
;// external "__X_ITE_X3D__ .X3DNode"
const external_X_ITE_X3D_X3DNode_namespaceObject = __X_ITE_X3D__ .X3DNode;
var external_X_ITE_X3D_X3DNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DNode_namespaceObject);
;// external "__X_ITE_X3D__ .X3DConstants"
const external_X_ITE_X3D_X3DConstants_namespaceObject = __X_ITE_X3D__ .X3DConstants;
var external_X_ITE_X3D_X3DConstants_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DConstants_namespaceObject);
;// external "__X_ITE_X3D__ .BitSet"
const external_X_ITE_X3D_BitSet_namespaceObject = __X_ITE_X3D__ .BitSet;
var external_X_ITE_X3D_BitSet_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_BitSet_namespaceObject);
;// external "__X_ITE_X3D__ .Namespace"
const external_X_ITE_X3D_Namespace_namespaceObject = __X_ITE_X3D__ .Namespace;
var external_X_ITE_X3D_Namespace_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Namespace_namespaceObject);
;// ./src/x_ite/Components/X_ITE/X3DMaterialExtensionNode.js
/*******************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
*
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
*
* The copyright notice above does not evidence any actual of intended
* publication of such source code, and is an unpublished work by create3000.
* This material contains CONFIDENTIAL INFORMATION that is the property of
* create3000.
*
* No permission is granted to copy, distribute, or create derivative works from
* the contents of this software, in whole or in part, without the prior written
* permission of create3000.
*
* NON-MILITARY USE ONLY
*
* All create3000 software are effectively free software with a non-military use
* restriction. It is free. Well commented source is provided. You may reuse the
* source in any way you please with the exception anything that uses it must be
* marked to indicate is contains 'non-military use only' components.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
*
* This file is part of the X_ITE Project.
*
* X_ITE is free software: you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 3 only, as published by the
* Free Software Foundation.
*
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
* details (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU General Public License version 3
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
* copy of the GPLv3 License.
*
* For Silvio, Joy and Adi.
*
******************************************************************************/
function X3DMaterialExtensionNode (executionContext)
{
external_X_ITE_X3D_X3DNode_default().call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).X3DMaterialExtensionNode);
this .textureBits = new (external_X_ITE_X3D_BitSet_default()) ();
}
Object .assign (Object .setPrototypeOf (X3DMaterialExtensionNode .prototype, (external_X_ITE_X3D_X3DNode_default()).prototype),
{
setTexture (index, textureNode)
{
index *= 4;
this .textureBits .remove (index, 0xf);
this .textureBits .add (index, textureNode ?.getTextureBits () ?? 0);
},
getTextureBits ()
{
return this .textureBits;
},
});
Object .defineProperties (X3DMaterialExtensionNode, external_X_ITE_X3D_X3DNode_default().getStaticProperties ("X3DMaterialExtensionNode", "X_ITE", 1));
const __default__ = X3DMaterialExtensionNode;
;
/* harmony default export */ const X_ITE_X3DMaterialExtensionNode = (external_X_ITE_X3D_Namespace_default().add ("X3DMaterialExtensionNode", __default__));
;// external "__X_ITE_X3D__ .X3DCast"
const external_X_ITE_X3D_X3DCast_namespaceObject = __X_ITE_X3D__ .X3DCast;
var external_X_ITE_X3D_X3DCast_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DCast_namespaceObject);
;// ./src/x_ite/Browser/X_ITE/ExtensionKeys.js
/*******************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
*
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
*
* The copyright notice above does not evidence any actual of intended
* publication of such source code, and is an unpublished work by create3000.
* This material contains CONFIDENTIAL INFORMATION that is the property of
* create3000.
*
* No permission is granted to copy, distribute, or create derivative works from
* the contents of this software, in whole or in part, without the prior written
* permission of create3000.
*
* NON-MILITARY USE ONLY
*
* All create3000 software are effectively free software with a non-military use
* restriction. It is free. Well commented source is provided. You may reuse the
* source in any way you please with the exception anything that uses it must be
* marked to indicate is contains 'non-military use only' components.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
*
* This file is part of the X_ITE Project.
*
* X_ITE is free software: you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 3 only, as published by the
* Free Software Foundation.
*
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
* details (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU General Public License version 3
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
* copy of the GPLv3 License.
*
* For Silvio, Joy and Adi.
*
******************************************************************************/
let i = 0;
const ExtensionKeys =
{
ANISOTROPY_MATERIAL_EXTENSION: i ++,
CLEARCOAT_MATERIAL_EXTENSION: i ++,
DIFFUSE_TRANSMISSION_EXTENSION: i ++,
DISPERSION_MATERIAL_EXTENSION: i ++,
EMISSIVE_STRENGTH_MATERIAL_EXTENSION: i ++,
IOR_MATERIAL_EXTENSION: i ++,
IRIDESCENCE_MATERIAL_EXTENSION: i ++,
SHEEN_MATERIAL_EXTENSION: i ++,
SPECULAR_MATERIAL_EXTENSION: i ++,
TRANSMISSION_MATERIAL_EXTENSION: i ++,
UNLIT_MATERIAL_EXTENSION: i ++,
VOLUME_MATERIAL_EXTENSION: i ++,
};
const ExtensionKeys_default_ = ExtensionKeys;
;
/* harmony default export */ const X_ITE_ExtensionKeys = (external_X_ITE_X3D_Namespace_default().add ("ExtensionKeys", ExtensionKeys_default_));
;// ./src/x_ite/Components/X_ITE/AnisotropyMaterialExtension.js
/*******************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
*
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
*
* The copyright notice above does not evidence any actual of intended
* publication of such source code, and is an unpublished work by create3000.
* This material contains CONFIDENTIAL INFORMATION that is the property of
* create3000.
*
* No permission is granted to copy, distribute, or create derivative works from
* the contents of this software, in whole or in part, without the prior written
* permission of create3000.
*
* NON-MILITARY USE ONLY
*
* All create3000 software are effectively free software with a non-military use
* restriction. It is free. Well commented source is provided. You may reuse the
* source in any way you please with the exception anything that uses it must be
* marked to indicate is contains 'non-military use only' components.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
*
* This file is part of the X_ITE Project.
*
* X_ITE is free software: you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 3 only, as published by the
* Free Software Foundation.
*
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
* details (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU General Public License version 3
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
* copy of the GPLv3 License.
*
* For Silvio, Joy and Adi.
*
******************************************************************************/
/**
* THIS NODE IS STILL EXPERIMENTAL.
*/
function AnisotropyMaterialExtension (executionContext)
{
X_ITE_X3DMaterialExtensionNode .call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).AnisotropyMaterialExtension);
// Units
this ._anisotropyRotation .setUnit ("angle");
// Private properties
this .anisotropyArray = new Float32Array (3);
}
Object .assign (Object .setPrototypeOf (AnisotropyMaterialExtension .prototype, X_ITE_X3DMaterialExtensionNode .prototype),
{
initialize ()
{
X_ITE_X3DMaterialExtensionNode .prototype .initialize .call (this);
this ._anisotropyStrength .addInterest ("set_anisotropyStrength__", this);
this ._anisotropyRotation .addInterest ("set_anisotropyRotation__", this);
this ._anisotropyTexture .addInterest ("set_anisotropyTexture__", this);
this .set_anisotropyStrength__ ();
this .set_anisotropyRotation__ ();
this .set_anisotropyTexture__ ();
},
set_anisotropyStrength__ ()
{
this .anisotropyArray [2] = Math .max (this ._anisotropyStrength .getValue (), 0);
},
set_anisotropyRotation__ ()
{
const anisotropyRotation = this ._anisotropyRotation .getValue ();
this .anisotropyArray [0] = Math .cos (anisotropyRotation);
this .anisotropyArray [1] = Math .sin (anisotropyRotation);
},
set_anisotropyTexture__ ()
{
this .anisotropyTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._anisotropyTexture);
this .setTexture (0, this .anisotropyTextureNode);
},
getExtensionKey ()
{
return X_ITE_ExtensionKeys .ANISOTROPY_MATERIAL_EXTENSION;
},
getShaderOptions (options)
{
options .push ("X3D_ANISOTROPY_MATERIAL_EXT");
if (!+this .getTextureBits ())
return;
options .push ("X3D_MATERIAL_TEXTURES");
this .anisotropyTextureNode ?.getShaderOptions (options, "ANISOTROPY", true);
},
setShaderUniforms (gl, shaderObject, renderObject, textureTransformMapping, textureCoordinateMapping)
{
gl .uniform3fv (shaderObject .x3d_AnisotropyEXT, this .anisotropyArray);
this .anisotropyTextureNode ?.setNamedShaderUniforms (gl,
shaderObject,
renderObject,
shaderObject .x3d_AnisotropyTextureEXT,
this ._anisotropyTextureMapping .getValue (),
textureTransformMapping,
textureCoordinateMapping);
},
});
Object .defineProperties (AnisotropyMaterialExtension,
{
... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("AnisotropyMaterialExtension", "X_ITE", 1, "extensions", "4.0"),
fieldDefinitions:
{
value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "anisotropyStrength", new (external_X_ITE_X3D_Fields_default()).SFFloat ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "anisotropyRotation", new (external_X_ITE_X3D_Fields_default()).SFFloat ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "anisotropyTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "anisotropyTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
]),
enumerable: true,
},
});
const AnisotropyMaterialExtension_default_ = AnisotropyMaterialExtension;
;
/* harmony default export */ const X_ITE_AnisotropyMaterialExtension = (external_X_ITE_X3D_Namespace_default().add ("AnisotropyMaterialExtension", AnisotropyMaterialExtension_default_));
;// external "__X_ITE_X3D__ .X3DAppearanceChildNode"
const external_X_ITE_X3D_X3DAppearanceChildNode_namespaceObject = __X_ITE_X3D__ .X3DAppearanceChildNode;
var external_X_ITE_X3D_X3DAppearanceChildNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DAppearanceChildNode_namespaceObject);
;// ./src/x_ite/Components/X_ITE/BlendMode.js
/*******************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
*
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
*
* The copyright notice above does not evidence any actual of intended
* publication of such source code, and is an unpublished work by create3000.
* This material contains CONFIDENTIAL INFORMATION that is the property of
* create3000.
*
* No permission is granted to copy, distribute, or create derivative works from
* the contents of this software, in whole or in part, without the prior written
* permission of create3000.
*
* NON-MILITARY USE ONLY
*
* All create3000 software are effectively free software with a non-military use
* restriction. It is free. Well commented source is provided. You may reuse the
* source in any way you please with the exception anything that uses it must be
* marked to indicate is contains 'non-military use only' components.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
*
* This file is part of the X_ITE Project.
*
* X_ITE is free software: you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 3 only, as published by the
* Free Software Foundation.
*
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
* details (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU General Public License version 3
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
* copy of the GPLv3 License.
*
* For Silvio, Joy and Adi.
*
******************************************************************************/
/**
* THIS NODE IS STILL EXPERIMENTAL.
*/
function BlendMode (executionContext)
{
external_X_ITE_X3D_X3DAppearanceChildNode_default().call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).BlendMode);
this .factorTypes = new Map ();
this .equationTypes = new Map ();
}
Object .assign (Object .setPrototypeOf (BlendMode .prototype, (external_X_ITE_X3D_X3DAppearanceChildNode_default()).prototype),
{
initialize ()
{
external_X_ITE_X3D_X3DAppearanceChildNode_default().prototype .initialize .call (this);
const
gl = this .getBrowser () .getContext (),
ext = gl .getExtension ('EXT_blend_minmax');
this .factorTypes .set ("ZERO", gl .ZERO);
this .factorTypes .set ("ONE", gl .ONE);
this .factorTypes .set ("SRC_COLOR", gl .SRC_COLOR);
this .factorTypes .set ("ONE_MINUS_SRC_COLOR", gl .ONE_MINUS_SRC_COLOR);
this .factorTypes .set ("DST_COLOR", gl .DST_COLOR);
this .factorTypes .set ("ONE_MINUS_DST_COLOR", gl .ONE_MINUS_DST_COLOR);
this .factorTypes .set ("SRC_ALPHA", gl .SRC_ALPHA);
this .factorTypes .set ("ONE_MINUS_SRC_ALPHA", gl .ONE_MINUS_SRC_ALPHA);
this .factorTypes .set ("DST_ALPHA", gl .DST_ALPHA);
this .factorTypes .set ("ONE_MINUS_DST_ALPHA", gl .ONE_MINUS_DST_ALPHA);
this .factorTypes .set ("SRC_ALPHA_SATURATE", gl .SRC_ALPHA_SATURATE);
this .factorTypes .set ("CONSTANT_COLOR", gl .CONSTANT_COLOR);
this .factorTypes .set ("ONE_MINUS_CONSTANT_COLOR", gl .ONE_MINUS_CONSTANT_COLOR);
this .factorTypes .set ("CONSTANT_ALPHA", gl .CONSTANT_ALPHA);
this .factorTypes .set ("ONE_MINUS_CONSTANT_ALPHA", gl .ONE_MINUS_CONSTANT_ALPHA);
this .equationTypes .set ("FUNC_ADD", gl .FUNC_ADD);
this .equationTypes .set ("FUNC_SUBTRACT", gl .FUNC_SUBTRACT);
this .equationTypes .set ("FUNC_REVERSE_SUBTRACT", gl .FUNC_REVERSE_SUBTRACT);
this .equationTypes .set ("MIN", gl .MIN || (ext && ext .MIN_EXT));
this .equationTypes .set ("MAX", gl .MAX || (ext && ext .MAX_EXT));
this ._sourceColorFactor .addInterest ("set_sourceColorFactor__", this);
this ._sourceAlphaFactor .addInterest ("set_sourceAlphaFactor__", this);
this ._destinationColorFactor .addInterest ("set_destinationColorFactor__", this);
this ._destinationAlphaFactor .addInterest ("set_destinationAlphaFactor__", this);
this ._colorEquation .addInterest ("set_colorEquation__", this);
this ._alphaEquation .addInterest ("set_alphaEquation__", this);
this .set_sourceColorFactor__ ();
this .set_sourceAlphaFactor__ ();
this .set_destinationColorFactor__ ();
this .set_destinationAlphaFactor__ ();
this .set_colorEquation__ ();
this .set_alphaEquation__ ();
},
set_sourceColorFactor__ ()
{
this .sourceColorFactorType = this .factorTypes .get (this ._sourceColorFactor .getValue ())
?? this .factorTypes .get ("SRC_ALPHA");
},
set_sourceAlphaFactor__ ()
{
this .sourceAlphaFactorType = this .factorTypes .get (this ._sourceAlphaFactor .getValue ())
?? this .factorTypes .get ("ONE");
},
set_destinationColorFactor__ ()
{
this .destinationColorFactorType = this .factorTypes .get (this ._destinationColorFactor .getValue ())
?? this .factorTypes .get ("ONE_MINUS_SRC_ALPHA");
},
set_destinationAlphaFactor__ ()
{
this .destinationAlphaFactorType = this .factorTypes .get (this ._destinationAlphaFactor .getValue ())
?? this .factorTypes .get ("ONE_MINUS_SRC_ALPHA");
},
set_colorEquation__ ()
{
this .colorEquationType = this .equationTypes .get (this ._colorEquation .getValue ())
?? this .equationTypes .get ("FUNC_ADD");
},
set_alphaEquation__ ()
{
this .alphaEquationType = this .equationTypes .get (this ._alphaEquation .getValue ())
?? this .equationTypes .get ("FUNC_ADD");
},
enable (gl)
{
const color = this ._blendColor .getValue ();
gl .blendColor (color .r, color .g, color .b, color .a);
gl .blendFuncSeparate (this .sourceColorFactorType, this .destinationColorFactorType, this .sourceAlphaFactorType, this .destinationAlphaFactorType);
gl .blendEquationSeparate (this .colorEquationType, this .alphaEquationType);
},
disable (gl)
{
gl .blendFuncSeparate (gl .SRC_ALPHA, gl .ONE_MINUS_SRC_ALPHA, gl .ONE, gl .ONE_MINUS_SRC_ALPHA);
gl .blendEquationSeparate (gl .FUNC_ADD, gl .FUNC_ADD);
},
});
Object .defineProperties (BlendMode,
{
... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("BlendMode", "X_ITE", 1, "blendMode", "3.3"),
fieldDefinitions:
{
value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "blendColor", new (external_X_ITE_X3D_Fields_default()).SFColorRGBA ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "sourceColorFactor", new (external_X_ITE_X3D_Fields_default()).SFString ("SRC_ALPHA")),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "sourceAlphaFactor", new (external_X_ITE_X3D_Fields_default()).SFString ("ONE")),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "destinationColorFactor", new (external_X_ITE_X3D_Fields_default()).SFString ("ONE_MINUS_SRC_ALPHA")),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "destinationAlphaFactor", new (external_X_ITE_X3D_Fields_default()).SFString ("ONE_MINUS_SRC_ALPHA")),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "colorEquation", new (external_X_ITE_X3D_Fields_default()).SFString ("FUNC_ADD")),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "alphaEquation", new (external_X_ITE_X3D_Fields_default()).SFString ("FUNC_ADD")),
]),
enumerable: true,
},
});
const BlendMode_default_ = BlendMode;
;
/* harmony default export */ const X_ITE_BlendMode = (external_X_ITE_X3D_Namespace_default().add ("BlendMode", BlendMode_default_));
;// external "__X_ITE_X3D__ .Algorithm"
const external_X_ITE_X3D_Algorithm_namespaceObject = __X_ITE_X3D__ .Algorithm;
var external_X_ITE_X3D_Algorithm_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Algorithm_namespaceObject);
;// ./src/x_ite/Components/X_ITE/ClearcoatMaterialExtension.js
/*******************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
*
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
*
* The copyright notice above does not evidence any actual of intended
* publication of such source code, and is an unpublished work by create3000.
* This material contains CONFIDENTIAL INFORMATION that is the property of
* create3000.
*
* No permission is granted to copy, distribute, or create derivative works from
* the contents of this software, in whole or in part, without the prior written
* permission of create3000.
*
* NON-MILITARY USE ONLY
*
* All create3000 software are effectively free software with a non-military use
* restriction. It is free. Well commented source is provided. You may reuse the
* source in any way you please with the exception anything that uses it must be
* marked to indicate is contains 'non-military use only' components.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
*
* This file is part of the X_ITE Project.
*
* X_ITE is free software: you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 3 only, as published by the
* Free Software Foundation.
*
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
* details (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU General Public License version 3
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
* copy of the GPLv3 License.
*
* For Silvio, Joy and Adi.
*
******************************************************************************/
/**
* THIS NODE IS STILL EXPERIMENTAL.
*/
function ClearcoatMaterialExtension (executionContext)
{
X_ITE_X3DMaterialExtensionNode .call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).ClearcoatMaterialExtension);
}
Object .assign (Object .setPrototypeOf (ClearcoatMaterialExtension .prototype, X_ITE_X3DMaterialExtensionNode .prototype),
{
initialize ()
{
X_ITE_X3DMaterialExtensionNode .prototype .initialize .call (this);
this ._clearcoat .addInterest ("set_clearcoat__", this);
this ._clearcoatTexture .addInterest ("set_clearcoatTexture__", this);
this ._clearcoatRoughness .addInterest ("set_clearcoatRoughness__", this);
this ._clearcoatRoughnessTexture .addInterest ("set_clearcoatRoughnessTexture__", this);
this ._clearcoatNormalTexture .addInterest ("set_clearcoatNormalTexture__", this);
this .set_clearcoat__ ();
this .set_clearcoatTexture__ ();
this .set_clearcoatRoughness__ ();
this .set_clearcoatRoughnessTexture__ ();
this .set_clearcoatNormalTexture__ ();
},
set_clearcoat__ ()
{
this .clearcoat = Math .max (this ._clearcoat .getValue (), 0);
},
set_clearcoatTexture__ ()
{
this .clearcoatTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._clearcoatTexture);
this .setTexture (0, this .clearcoatTextureNode);
},
set_clearcoatRoughness__ ()
{
this .clearcoatRoughness = external_X_ITE_X3D_Algorithm_default().clamp (this ._clearcoatRoughness .getValue (), 0, 1);
},
set_clearcoatRoughnessTexture__ ()
{
this .clearcoatRoughnessTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._clearcoatRoughnessTexture);
this .setTexture (1, this .clearcoatRoughnessTextureNode);
},
set_clearcoatNormalTexture__ ()
{
this .clearcoatNormalTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._clearcoatNormalTexture);
this .setTexture (2, this .clearcoatNormalTextureNode);
},
getExtensionKey ()
{
return X_ITE_ExtensionKeys .CLEARCOAT_MATERIAL_EXTENSION;
},
getShaderOptions (options)
{
options .push ("X3D_CLEARCOAT_MATERIAL_EXT");
if (!+this .getTextureBits ())
return;
options .push ("X3D_MATERIAL_TEXTURES");
this .clearcoatTextureNode ?.getShaderOptions (options, "CLEARCOAT", true);
this .clearcoatRoughnessTextureNode ?.getShaderOptions (options, "CLEARCOAT_ROUGHNESS", true);
this .clearcoatNormalTextureNode ?.getShaderOptions (options, "CLEARCOAT_NORMAL", true);
},
setShaderUniforms (gl, shaderObject, renderObject, textureTransformMapping, textureCoordinateMapping)
{
gl .uniform1f (shaderObject .x3d_ClearcoatEXT, this .clearcoat);
gl .uniform1f (shaderObject .x3d_ClearcoatRoughnessEXT, this .clearcoatRoughness);
if (!+this .getTextureBits ())
return;
this .clearcoatTextureNode ?.setNamedShaderUniforms (gl,
shaderObject,
renderObject,
shaderObject .x3d_ClearcoatTextureEXT,
this ._clearcoatTextureMapping .getValue (),
textureTransformMapping,
textureCoordinateMapping);
this .clearcoatRoughnessTextureNode ?.setNamedShaderUniforms (gl,
shaderObject,
renderObject,
shaderObject .x3d_ClearcoatRoughnessTextureEXT,
this ._clearcoatRoughnessTextureMapping .getValue (),
textureTransformMapping,
textureCoordinateMapping);
this .clearcoatNormalTextureNode ?.setNamedShaderUniforms (gl,
shaderObject,
renderObject,
shaderObject .x3d_ClearcoatNormalTextureEXT,
this ._clearcoatNormalTextureMapping .getValue (),
textureTransformMapping,
textureCoordinateMapping);
},
});
Object .defineProperties (ClearcoatMaterialExtension,
{
... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("ClearcoatMaterialExtension", "X_ITE", 1, "extensions", "4.0"),
fieldDefinitions:
{
value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoat", new (external_X_ITE_X3D_Fields_default()).SFFloat ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatRoughness", new (external_X_ITE_X3D_Fields_default()).SFFloat ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatRoughnessTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatRoughnessTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatNormalTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "clearcoatNormalTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
]),
enumerable: true,
},
});
const ClearcoatMaterialExtension_default_ = ClearcoatMaterialExtension;
;
/* harmony default export */ const X_ITE_ClearcoatMaterialExtension = (external_X_ITE_X3D_Namespace_default().add ("ClearcoatMaterialExtension", ClearcoatMaterialExtension_default_));
;// ./src/x_ite/Components/X_ITE/DepthMode.js
/*******************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
*
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
*
* The copyright notice above does not evidence any actual of intended
* publication of such source code, and is an unpublished work by create3000.
* This material contains CONFIDENTIAL INFORMATION that is the property of
* create3000.
*
* No permission is granted to copy, distribute, or create derivative works from
* the contents of this software, in whole or in part, without the prior written
* permission of create3000.
*
* NON-MILITARY USE ONLY
*
* All create3000 software are effectively free software with a non-military use
* restriction. It is free. Well commented source is provided. You may reuse the
* source in any way you please with the exception anything that uses it must be
* marked to indicate is contains 'non-military use only' components.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
*
* This file is part of the X_ITE Project.
*
* X_ITE is free software: you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 3 only, as published by the
* Free Software Foundation.
*
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
* details (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU General Public License version 3
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
* copy of the GPLv3 License.
*
* For Silvio, Joy and Adi.
*
******************************************************************************/
/**
* THIS NODE IS STILL EXPERIMENTAL.
*/
function DepthMode (executionContext)
{
external_X_ITE_X3D_X3DAppearanceChildNode_default().call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).DepthMode);
this .addAlias ("depthFunc", this ._depthFunction);
}
Object .assign (Object .setPrototypeOf (DepthMode .prototype, (external_X_ITE_X3D_X3DAppearanceChildNode_default()).prototype),
{
initialize ()
{
external_X_ITE_X3D_X3DAppearanceChildNode_default().prototype .initialize .call (this);
this ._depthFunction .addInterest ("set_depthFunction__", this);
this .set_depthFunction__ ();
},
set_depthFunction__: (() =>
{
const depthFunctions = new Map ([
["NEVER", "NEVER"],
["LESS", "LESS"],
["EQUAL", "EQUAL"],
["LESS_EQUAL", "LEQUAL"],
["GREATER", "GREATER"],
["NOT_EQUAL", "NOTEQUAL"],
["GREATER_EQUAL", "GEQUAL"],
["ALWAYS", "ALWAYS"],
]);
return function ()
{
const gl = this .getBrowser () .getContext ();
this .depthFunction = gl [depthFunctions .get (this ._depthFunction .getValue ()) ?? "LEQUAL"];
};
})(),
enable (gl)
{
this .depthTest = gl .isEnabled (gl .DEPTH_TEST);
this .depthWriteMask = gl .getParameter (gl .DEPTH_WRITEMASK);
gl .enable (gl .POLYGON_OFFSET_FILL);
gl .polygonOffset (... this ._polygonOffset);
if (this ._depthTest .getValue ())
gl .enable (gl .DEPTH_TEST);
else
gl .disable (gl .DEPTH_TEST);
gl .depthFunc (this .depthFunction);
gl .depthRange (... this ._depthRange .getValue ());
gl .depthMask (this ._depthMask .getValue ());
},
disable (gl)
{
gl .disable (gl .POLYGON_OFFSET_FILL);
if (this .depthTest)
gl .enable (gl .DEPTH_TEST);
else
gl .disable (gl .DEPTH_TEST);
gl .depthFunc (gl .LEQUAL);
gl .depthRange (0, 1);
gl .depthMask (this .depthWriteMask);
},
});
Object .defineProperties (DepthMode,
{
... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("DepthMode", "X_ITE", 1, "depthMode", "4.0"),
fieldDefinitions:
{
value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "polygonOffset", new (external_X_ITE_X3D_Fields_default()).SFVec2f ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "depthRange", new (external_X_ITE_X3D_Fields_default()).SFVec2f (0, 1)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "depthTest", new (external_X_ITE_X3D_Fields_default()).SFBool (true)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "depthFunction", new (external_X_ITE_X3D_Fields_default()).SFString ("LESS_EQUAL")),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "depthMask", new (external_X_ITE_X3D_Fields_default()).SFBool (true)),
]),
enumerable: true,
},
});
const DepthMode_default_ = DepthMode;
;
/* harmony default export */ const X_ITE_DepthMode = (external_X_ITE_X3D_Namespace_default().add ("DepthMode", DepthMode_default_));
;// ./src/x_ite/Components/X_ITE/DiffuseTransmissionMaterialExtension.js
/*******************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
*
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
*
* The copyright notice above does not evidence any actual of intended
* publication of such source code, and is an unpublished work by create3000.
* This material contains CONFIDENTIAL INFORMATION that is the property of
* create3000.
*
* No permission is granted to copy, distribute, or create derivative works from
* the contents of this software, in whole or in part, without the prior written
* permission of create3000.
*
* NON-MILITARY USE ONLY
*
* All create3000 software are effectively free software with a non-military use
* restriction. It is free. Well commented source is provided. You may reuse the
* source in any way you please with the exception anything that uses it must be
* marked to indicate is contains 'non-military use only' components.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
*
* This file is part of the X_ITE Project.
*
* X_ITE is free software: you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 3 only, as published by the
* Free Software Foundation.
*
* X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
* details (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU General Public License version 3
* along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
* copy of the GPLv3 License.
*
* For Silvio, Joy and Adi.
*
******************************************************************************/
/**
* THIS NODE IS STILL EXPERIMENTAL.
*/
function DiffuseTransmissionMaterialExtension (executionContext)
{
X_ITE_X3DMaterialExtensionNode .call (this, executionContext);
this .addType ((external_X_ITE_X3D_X3DConstants_default()).DiffuseTransmissionMaterialExtension);
this .diffuseTransmissionColorArray = new Float32Array (3);
}
Object .assign (Object .setPrototypeOf (DiffuseTransmissionMaterialExtension .prototype, X_ITE_X3DMaterialExtensionNode .prototype),
{
initialize ()
{
X_ITE_X3DMaterialExtensionNode .prototype .initialize .call (this);
this ._diffuseTransmission .addInterest ("set_diffuseTransmission__", this);
this ._diffuseTransmissionTexture .addInterest ("set_diffuseTransmissionTexture__", this);
this ._diffuseTransmissionColor .addInterest ("set_diffuseTransmissionColor__", this);
this ._diffuseTransmissionColorTexture .addInterest ("set_diffuseTransmissionColorTexture__", this);
this .set_diffuseTransmission__ ();
this .set_diffuseTransmissionTexture__ ();
this .set_diffuseTransmissionColor__ ();
this .set_diffuseTransmissionColorTexture__ ();
},
set_diffuseTransmission__ ()
{
this .diffuseTransmission = Math .max (this ._diffuseTransmission .getValue (), 0);
},
set_diffuseTransmissionTexture__ ()
{
this .diffuseTransmissionTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._diffuseTransmissionTexture);
this .setTexture (0, this .diffuseTransmissionTextureNode);
},
set_diffuseTransmissionColor__ ()
{
this .diffuseTransmissionColorArray .set (this ._diffuseTransmissionColor .getValue ());
},
set_diffuseTransmissionColorTexture__ ()
{
this .diffuseTransmissionColorTextureNode = external_X_ITE_X3D_X3DCast_default() ((external_X_ITE_X3D_X3DConstants_default()).X3DSingleTextureNode, this ._diffuseTransmissionColorTexture);
this .setTexture (1, this .diffuseTransmissionColorTextureNode);
},
getExtensionKey ()
{
return X_ITE_ExtensionKeys .DIFFUSE_TRANSMISSION_EXTENSION;
},
getShaderOptions (options)
{
options .push ("X3D_DIFFUSE_TRANSMISSION_MATERIAL_EXT");
if (!+this .getTextureBits ())
return;
options .push ("X3D_MATERIAL_TEXTURES");
this .diffuseTransmissionTextureNode ?.getShaderOptions (options, "DIFFUSE_TRANSMISSION", true);
this .diffuseTransmissionColorTextureNode ?.getShaderOptions (options, "DIFFUSE_TRANSMISSION_COLOR", true);
},
setShaderUniforms (gl, shaderObject, renderObject, textureTransformMapping, textureCoordinateMapping)
{
gl .uniform1f (shaderObject .x3d_DiffuseTransmissionEXT, this .diffuseTransmission);
gl .uniform3fv (shaderObject .x3d_DiffuseTransmissionColorEXT, this .diffuseTransmissionColorArray);
if (!+this .getTextureBits ())
return;
this .diffuseTransmissionTextureNode ?.setNamedShaderUniforms (gl,
shaderObject,
renderObject,
shaderObject .x3d_DiffuseTransmissionTextureEXT,
this ._diffuseTransmissionTextureMapping .getValue (),
textureTransformMapping,
textureCoordinateMapping);
this .diffuseTransmissionColorTextureNode ?.setNamedShaderUniforms (gl,
shaderObject,
renderObject,
shaderObject .x3d_DiffuseTransmissionColorTextureEXT,
this ._diffuseTransmissionColorTextureMapping .getValue (),
textureTransformMapping,
textureCoordinateMapping);
},
});
Object .defineProperties (DiffuseTransmissionMaterialExtension,
{
... external_X_ITE_X3D_X3DNode_default().getStaticProperties ("DiffuseTransmissionMaterialExtension", "X_ITE", 1, "extensions", "4.0"),
fieldDefinitions:
{
value: new (external_X_ITE_X3D_FieldDefinitionArray_default()) ([
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "metadata", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmission", new (external_X_ITE_X3D_Fields_default()).SFFloat ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionColor", new (external_X_ITE_X3D_Fields_default()).SFColor (1, 1, 1)),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionColorTextureMapping", new (external_X_ITE_X3D_Fields_default()).SFString ()),
new (external_X_ITE_X3D_X3DFieldDefinition_default()) ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "diffuseTransmissionColorTexture", new (external_X_ITE_X3D_Fields_default()).SFNode ()),
]),
enumerable: true,
},
});
const DiffuseTransmissionMaterialExtension_default_ = DiffuseTransmissionMaterialExtension;
;
/* harmony default export */ const X_ITE_DiffuseTransmissionMaterialExtension = (external_X_ITE_X3D_Namespace_default().add ("DiffuseTransmissionMaterialExtension", DiffuseTransmissionMaterialExtension_default_));
;// ./src/x_ite/Components/X_ITE/DispersionMaterialExtension.js
/*******************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
*
* All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
*
* The copyright notice above does not evidence any actual of intended
* publication of such source code, and is an unpublished work by create3000.
* This material contains CONFIDENTIAL INFORMATION that is the property of
* create3000.
*
* No permission is granted to copy, distribute, or create derivative works from
* the contents of this software, in whole or in part, without the prior written
* permission of create3000.
*
* NON-MILITARY USE ONLY
*
* All create3000 software are effectively free software with a non-military use
* restriction. It is free. Well commented source is provided. You may reuse the
* source in any way you please with the exception anything that uses it must be
* marked to indicate is contains 'non-military use only' components.
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
*
* This file is part of the X_ITE Project.
*
* X_ITE is free software: you can redistribute it and/or modify it under the
* terms of the GNU General Public License version 3 only, as published