"../resources/images/all_probes/stpeters_cross/stpeters_right.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png" ]) )).setTop(x3dpsail.ImageTexture().setUrl( x3dpsail.MFString([ "../resources/images/all_probes/stpeters_cross/stpeters_top.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png" ])))) #<ComposedShader DEF='gl' language=\"GLSL\"> <field name='cube' type='SFInt32' accessType=\"inputOutput\" value='0'/> <field name='chromaticDispertion' type='SFVec3f' accessType=\"inputOutput\" value='0.98 1.0 1.033'/> <field name='bias' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='scale' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='power' type='SFFloat' accessType=\"inputOutput\" value='2.0'/> <ShaderPart url='\"../shaders/gl.vs\" \"https://coderextreme.net/X3DJSONLD/shaders/gl.vs\"' type='VERTEX'></ShaderPart> <ShaderPart url='\"../shaders/pc_bubbles.fs\" \"https://coderextreme.net/X3DJSONLD/shaders/pc_bubbles.fs\"' type='FRAGMENT'></ShaderPart> </ComposedShader> <ComposedShader DEF='freewrl' language=\"GLSL\"> <field name='fw_textureCoodGenType' type='SFInt32' accessType=\"inputOutput\" value='0'/> <field name='chromaticDispertion' type='SFVec3f' accessType=\"inputOutput\" value='0.98 1.0 1.033'/> <field name='bias' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='scale' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='power' type='SFFloat' accessType=\"inputOutput\" value='2.0'/> <ShaderPart url='\"../shaders/freewrl.vs\" \"https://coderextreme.net/X3DJSONLD/shaders/freewrl.vs\"' type='VERTEX'></ShaderPart> <ShaderPart url='\"../shaders/pc_bubbles.fs\" \"https://coderextreme.net/X3DJSONLD/shaders/pc_bubbles.fs\"' type='FRAGMENT'></ShaderPart> </ComposedShader> #<ComposedShader DEF='instant' language=\"GLSL\"> <field name='cube' type='SFInt32' accessType=\"inputOutput\" value='0'/> <field name='chromaticDispertion' type='SFVec3f' accessType=\"inputOutput\" value='0.98 1.0 1.033'/> <field name='bias' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='scale' type='SFFloat' accessType=\"inputOutput\" value='0.5'/> <field name='power' type='SFFloat' accessType=\"inputOutput\" value='2.0'/> <ShaderPart url='\"../shaders/instant.vs\" \"https://coderextreme.net/X3DJSONLD/shaders/instant.vs\"' type='VERTEX'></ShaderPart> <ShaderPart url='\"../shaders/pc_bubbles.fs\" \"https://coderextreme.net/X3DJSONLD/shaders/pc_bubbles.fs\"' type='FRAGMENT'></ShaderPart> </ComposedShader> .addShaders(x3dpsail.ComposedShader().setDEF( x3dpsail.SFString("x3dom") ).setLanguage(x3dpsail.SFString("GLSL")).addField( x3dpsail.field().setName(x3dpsail.SFString("cube")) .setType(x3dpsail.SFString("SFInt32")).setAccessType( x3dpsail.SFString("inputOutput")).setValue( x3dpsail.SFString("0")) ).addField(x3dpsail.field().setName( x3dpsail.SFString("chromaticDispertion") ).setType(x3dpsail.SFString("SFVec3f")).setAccessType( x3dpsail.SFString("inputOutput") ).setValue(x3dpsail.SFString("0.98 1 1.033"))).addField( x3dpsail.field().setName(x3dpsail.SFString("bias")). setType( x3dpsail.SFString("SFFloat") ).setAccessType(x3dpsail.SFString("inputOutput")) .setValue(x3dpsail.SFString("0.5")) ).addField(x3dpsail.field().setName( x3dpsail.SFString("scale") ).setType( x3dpsail.SFString("SFFloat")
x3dpsail.Sphere().setRadius( x3dpsail.SFFloat(0.25))).setAppearance( x3dpsail.Appearance().setMaterial( x3dpsail.Material( ).setDiffuseColor( x3dpsail.SFColor( 1, 0, 0)).setTransparency( x3dpsail.SFFloat( 0.2))))). addChild(x3dpsail.Script().setDEF( x3dpsail.SFString("bounce") ).addField(x3dpsail.field().setName( x3dpsail.SFString("scale") ).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("SFVec3f")).setValue( x3dpsail.SFString("1 1 1") )).addField(x3dpsail.field().setName( x3dpsail.SFString("translation") ).setAccessType( x3dpsail.SFString("inputOutput") ).setType(x3dpsail.SFString( "SFVec3f")).setValue( x3dpsail.SFString("0 0 0"))). addField(x3dpsail.field().setName( x3dpsail.SFString("velocity") ).setAccessType( x3dpsail.SFString("inputOutput") ).setType(x3dpsail.SFString( "SFVec3f")).setValue(
]) Background9.setRightUrl([ "../resources/images/all_probes/stpeters_cross/stpeters_right.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png" ]) Background9.setTopUrl([ "../resources/images/all_probes/stpeters_cross/stpeters_top.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png" ]) Scene7.addChildren(Background9) Group10 = x3dpsail.Group() ExternProtoDeclare11 = x3dpsail.ExternProtoDeclare() ExternProtoDeclare11.setName("FlowerProto") ExternProtoDeclare11.setUrl(["../data/flowerproto.json#FlowerProto"]) field12 = x3dpsail.field() field12.setName("vertex") field12.setAccessType("inputOutput") field12.setType("MFString") ExternProtoDeclare11.addField(field12) field13 = x3dpsail.field() field13.setName("fragment") field13.setAccessType("inputOutput") field13.setType("MFString") ExternProtoDeclare11.addField(field13) Group10.addChildren(ExternProtoDeclare11) ProtoDeclare14 = x3dpsail.ProtoDeclare() ProtoDeclare14.setName("flower")
X3D0.setHead(head1) Scene7 = x3dpsail.Scene() NavigationInfo8 = x3dpsail.NavigationInfo() NavigationInfo8.setType(["EXAMINE"]) Scene7.addChildren(NavigationInfo8) Viewpoint9 = x3dpsail.Viewpoint() Viewpoint9.setDescription("Rubiks Cube on Fire") Viewpoint9.setPosition([0, 0, 12]) Scene7.addChildren(Viewpoint9) ProtoDeclare10 = x3dpsail.ProtoDeclare() ProtoDeclare10.setName("anyShape") ProtoInterface11 = x3dpsail.ProtoInterface() field12 = x3dpsail.field() field12.setName("xtranslation") field12.setAccessType("inputOutput") field12.setType("SFVec3f") field12.setValue("0 0 0") ProtoInterface11.addField(field12) field13 = x3dpsail.field() field13.setName("myShape") field13.setAccessType("inputOutput") field13.setType("MFNode") Shape14 = x3dpsail.Shape() Sphere15 = x3dpsail.Sphere() Shape14.setGeometry(Sphere15) Appearance16 = x3dpsail.Appearance()
Shape24.setAppearance(Appearance25) Cylinder27 = x3dpsail.Cylinder() Cylinder27.setRadius(0.1) Shape24.setGeometry(Cylinder27) Transform23.addChildren(Shape24) Transform22.addChildren(Transform23) Scene7.addChildren(Transform22) ProtoDeclare28 = x3dpsail.ProtoDeclare() ProtoDeclare28.setName("point") ProtoInterface29 = x3dpsail.ProtoInterface() field30 = x3dpsail.field() field30.setName("translation") field30.setAccessType("inputOutput") field30.setType("SFVec3f") field30.setValue("0 0 0") ProtoInterface29.addField(field30) ProtoDeclare28.setProtoInterface(ProtoInterface29) ProtoBody31 = x3dpsail.ProtoBody() Transform32 = x3dpsail.Transform() Transform32.setDEF("node") IS33 = x3dpsail.IS() connect34 = x3dpsail.connect() connect34.setNodeField("translation") connect34.setProtoField("translation")
.addChild(x3dpsail.Background().setDEF(x3dpsail.SFString("background")).setBackUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_back.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_back.png"])).setBottomUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_bottom.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_bottom.png"])).setFrontUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_front.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_front.png"])).setLeftUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_left.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_left.png"])).setRightUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_right.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_right.png"])).setTopUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_top.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_top.png"]))) .addChild(x3dpsail.Viewpoint().setPosition(x3dpsail.SFVec3f(0,0,40)).setDescription(x3dpsail.SFString("Transparent rose"))) .addChild(x3dpsail.Transform().setDEF(x3dpsail.SFString("Rose01")) .addChild(x3dpsail.Shape() .setAppearance(x3dpsail.Appearance() .setMaterial(x3dpsail.Material().setDiffuseColor(x3dpsail.SFColor(0.7,0.7,0.7)).setSpecularColor(x3dpsail.SFColor(0.5,0.5,0.5))) .setTexture(x3dpsail.ComposedCubeMapTexture().setDEF(x3dpsail.SFString("texture")) .setBack(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("backShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_back.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_back.png"]))) .setBottom(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("bottomShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_bottom.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_bottom.png"]))) .setFront(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("frontShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_front.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_front.png"]))) .setLeft(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("leftShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_left.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_left.png"]))) .setRight(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("rightShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_right.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_right.png"]))) .setTop(x3dpsail.ImageTexture().setDEF(x3dpsail.SFString("topShader")).setUrl(x3dpsail.MFString(["../resources/images/all_probes/beach_cross/beach_top.png","https://coderextreme.net/X3DJSONLD/images/all_probes/beach_cross/beach_top.png"])))) .addShaders(x3dpsail.ComposedShader().setDEF(x3dpsail.SFString("x3dom")).setLanguage(x3dpsail.SFString("GLSL")) .addField(x3dpsail.field().setName(x3dpsail.SFString("cube")).setType(x3dpsail.SFString("SFInt32")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("0"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("chromaticDispertion")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFVec3f")).setValue(x3dpsail.SFString("0.98 1 1.033"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("bias")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("0.5"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("scale")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("0.5"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("power")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("2"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("a")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("10"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("b")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("1"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("c")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("20"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("d")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("20"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("tdelta")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("0"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("pdelta")).setType(x3dpsail.SFString("SFFloat")).setAccessType(x3dpsail.SFString("inputOutput")).setValue(x3dpsail.SFString("0"))) #field name='cube' type='SFNode' accessType=\"inputOutput\"> <ComposedCubeMapTexture USE=\"texture\"/> </field .addParts(x3dpsail.ShaderPart().setUrl(x3dpsail.MFString(["../shaders/x3dom_flowers_chromatic.vs","https://coderextreme.net/X3DJSONLD/shaders/x3dom_flowers_chromatic.vs"])).setType(x3dpsail.SFString("VERTEX"))) .addParts(x3dpsail.ShaderPart().setUrl(x3dpsail.MFString(["../shaders/pc_bubbles.fs","https://coderextreme.net/X3DJSONLD/shaders/common.fs"])).setType(x3dpsail.SFString("FRAGMENT")))) .addShaders(x3dpsail.ComposedShader().setDEF(x3dpsail.SFString("cobweb")).setLanguage(x3dpsail.SFString("GLSL"))
x3dpsail.NavigationInfo()).addChild( x3dpsail.Transform().setDEF( x3dpsail.SFString("transform")).addChild( x3dpsail.Shape().setAppearance( x3dpsail.Appearance().setMaterial( x3dpsail.Material().setDiffuseColor( x3dpsail.SFColor( 0.7, 0.7, 0.7)).setSpecularColor( x3dpsail.SFColor( 0.5, 0.5, 0.5)))).setGeometry( x3dpsail.Sphere())) ).addChild(x3dpsail.Script().setDEF( x3dpsail.SFString("Bounce")).addField( x3dpsail.field().setName( x3dpsail.SFString("set_translation")).setAccessType( x3dpsail.SFString("inputOnly")).setType( x3dpsail.SFString("SFVec3f")).setValue( x3dpsail.SFString("0 0 0")) ).addField(x3dpsail.field().setName( x3dpsail.SFString("translation_changed")).setAccessType( x3dpsail.SFString("outputOnly")).setType( x3dpsail.SFString("SFVec3f")).setValue( x3dpsail.SFString("0 0 0")) ).addField(x3dpsail.field().setName( x3dpsail.SFString("translation")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("SFVec3f")).setValue( x3dpsail.SFString("0 0 0"))). addField(x3dpsail.field().setName( x3dpsail.SFString("velocity")).setAccessType( x3dpsail.SFString("inputOutput")).setType(
Shape52.setAppearance(Appearance53) Cylinder55 = x3dpsail.Cylinder() Cylinder55.setRadius(0.05) Shape52.setGeometry(Cylinder55) Transform51.addChildren(Shape52) Transform50.addChildren(Transform51) Scene7.addChildren(Transform50) ProtoDeclare56 = x3dpsail.ProtoDeclare() ProtoDeclare56.setName("x3dconnector") ProtoInterface57 = x3dpsail.ProtoInterface() field58 = x3dpsail.field() field58.setName("startnode") field58.setAccessType("initializeOnly") field58.setType("SFNode") ProtoInterface57.addField(field58) field59 = x3dpsail.field() field59.setName("endnode") field59.setAccessType("initializeOnly") field59.setType("SFNode") ProtoInterface57.addField(field59) field60 = x3dpsail.field() field60.setName("transnode") field60.setAccessType("initializeOnly") field60.setType("SFNode")
ComposedCubeMapTexture16.setRight(ImageTexture21) ImageTexture22 = x3dpsail.ImageTexture() ImageTexture22.setDEF("topShader") ImageTexture22.setUrl([ "../resources/images/all_probes/beach_cross/beach_top.png", "https://coderextreme.net/images/all_probes/beach_cross/beach_top.png" ]) ComposedCubeMapTexture16.setTop(ImageTexture22) Appearance14.setTexture(ComposedCubeMapTexture16) ComposedShader23 = x3dpsail.ComposedShader() ComposedShader23.setDEF("cobweb") ComposedShader23.setLanguage("GLSL") #http://hypertextbook.com/facts/2005/JustinChe.shtml field24 = x3dpsail.field() field24.setName("chromaticDispertion") field24.setAccessType("inputOutput") field24.setType("SFVec3f") field24.setValue("0.98 1 1.033") ComposedShader23.addField(field24) field25 = x3dpsail.field() field25.setName("cube") field25.setAccessType("inputOutput") field25.setType("SFInt32") field25.setValue("0") ComposedShader23.addField(field25) field26 = x3dpsail.field() field26.setName("bias")
.addChild(x3dpsail.Transform().setDEF(x3dpsail.SFString("G2")).setTranslation(x3dpsail.SFVec3f(1,-1,0.01)) .addChild(x3dpsail.Shape() .setAppearance(x3dpsail.Appearance() .setMaterial(x3dpsail.Material().setDiffuseColor(x3dpsail.SFColor(0.2,0.7,0.2)))) .setGeometry(x3dpsail.Sphere().setRadius(x3dpsail.SFFloat(0.1)))) .addChild(x3dpsail.PlaneSensor().setDescription(x3dpsail.SFString("Grab to move")).setOffset(x3dpsail.SFVec3f(1,-1,0.01)).setDEF(x3dpsail.SFString("PS2"))) .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("PS2")).setFromField(x3dpsail.SFString("translation_changed")).setToNode(x3dpsail.SFString("G2")).setToField(x3dpsail.SFString("set_translation")))) .addChild(x3dpsail.Transform().setDEF(x3dpsail.SFString("transC1")) .addChild(x3dpsail.Transform().setDEF(x3dpsail.SFString("rotscaleC1")) .addChild(x3dpsail.Shape() .setAppearance(x3dpsail.Appearance() .setMaterial(x3dpsail.Material().setDiffuseColor(x3dpsail.SFColor(0.2,0.7,0.7)).setTransparency(x3dpsail.SFFloat(0.5)))) .setGeometry(x3dpsail.Cylinder().setRadius(x3dpsail.SFFloat(0.05)))))) .addChild(x3dpsail.ProtoDeclare().setName(x3dpsail.SFString("x3dconnector")) .setProtoInterface(x3dpsail.ProtoInterface() .addField(x3dpsail.field().setName(x3dpsail.SFString("startnode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("endnode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("transnode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("rotscalenode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("set_startpoint")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFVec3f"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("set_endpoint")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFVec3f")))) .setProtoBody(x3dpsail.ProtoBody() .addChild(x3dpsail.Script().setDEF(x3dpsail.SFString("S1")) .addField(x3dpsail.field().setName(x3dpsail.SFString("startnode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("endnode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("transnode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("rotscalenode")).setAccessType(x3dpsail.SFString("initializeOnly")).setType(x3dpsail.SFString("SFNode"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("set_startpoint")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFVec3f"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("set_endpoint")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFVec3f"))) .setIS(x3dpsail.IS() .addConnect(x3dpsail.connect().setNodeField(x3dpsail.SFString("startnode")).setProtoField(x3dpsail.SFString("startnode")))
IntegerSequencer61 = x3dpsail.IntegerSequencer() IntegerSequencer61.setDEF("TimingSequencer") IntegerSequencer61.setKey([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1]) IntegerSequencer61.setKeyValue([0, 1, 2, 3, 4, 5, 6, 7, 8, 10]) Transform47.addChildren(IntegerSequencer61) ROUTE62 = x3dpsail.ROUTE() ROUTE62.setFromField("fraction_changed") ROUTE62.setFromNode("Clock") ROUTE62.setToField("set_fraction") ROUTE62.setToNode("TimingSequencer") Transform47.addChildren(ROUTE62) Script63 = x3dpsail.Script() Script63.setDEF("BindingSequencerEngine") field64 = x3dpsail.field() field64.setName("set_timeEvent") field64.setAccessType("inputOnly") field64.setType("SFInt32") Script63.addField(field64) field65 = x3dpsail.field() field65.setName("bindView1") field65.setAccessType("outputOnly") field65.setType("SFBool") Script63.addField(field65) field66 = x3dpsail.field() field66.setName("bindView2") field66.setAccessType("outputOnly") field66.setType("SFBool")
]) ComposedCubeMapTexture16.setRight(ImageTexture21) ImageTexture22 = x3dpsail.ImageTexture() ImageTexture22.setUrl([ "../resources/images/all_probes/stpeters_cross/stpeters_top.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png" ]) ComposedCubeMapTexture16.setTop(ImageTexture22) Appearance14.setTexture(ComposedCubeMapTexture16) ComposedShader23 = x3dpsail.ComposedShader() ComposedShader23.setDEF("shader") ComposedShader23.setLanguage("GLSL") field24 = x3dpsail.field() field24.setName("cube") field24.setType("SFInt32") field24.setAccessType("inputOutput") field24.setValue("0") ComposedShader23.addField(field24) field25 = x3dpsail.field() field25.setName("chromaticDispertion") field25.setAccessType("inputOutput") field25.setType("SFVec3f") field25.setValue("0.98 1 1.033") ComposedShader23.addField(field25) field26 = x3dpsail.field() field26.setName("bias")
meta6.setName("description") meta6.setContent("beginnings of a force directed graph in 3D") head1.addMeta(meta6) meta7 = x3dpsail.meta() meta7.setName("generator") meta7.setContent("Vim, X3D-Edit, https://savage.nps.edu/X3D-Edit") head1.addMeta(meta7) X3D0.setHead(head1) Scene8 = x3dpsail.Scene() ProtoDeclare9 = x3dpsail.ProtoDeclare() ProtoDeclare9.setName("node") ProtoInterface10 = x3dpsail.ProtoInterface() field11 = x3dpsail.field() field11.setName("position") field11.setAccessType("inputOutput") field11.setType("SFVec3f") field11.setValue("0 0 0") ProtoInterface10.addField(field11) ProtoDeclare9.setProtoInterface(ProtoInterface10) ProtoBody12 = x3dpsail.ProtoBody() Transform13 = x3dpsail.Transform() Transform13.setDEF("transform") IS14 = x3dpsail.IS() connect15 = x3dpsail.connect() connect15.setNodeField("translation") connect15.setProtoField("position")
x3dpsail.SFString( "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"))).addMeta( x3dpsail.meta().setName( x3dpsail.SFString("license")).setContent( x3dpsail.SFString("../license.html")))). setScene(x3dpsail.Scene().addChild(x3dpsail.ExternProtoDeclare( ).setName(x3dpsail.SFString("ViewPositionOrientation")).setUrl( x3dpsail.MFString([ "../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation", "https://savage.nps.edu/Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation", "../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation", "https://savage.nps.edu/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" ]) ).addField( x3dpsail.field().setName(x3dpsail.SFString("enabled")) .setAccessType(x3dpsail.SFString("inputOutput") ).setType(x3dpsail.SFString("SFBool")) ).addField(x3dpsail.field().setName(x3dpsail.SFString( "traceEnabled" )).setAccessType(x3dpsail.SFString( "initializeOnly" )).setType(x3dpsail.SFString( "SFBool" ))).addField(x3dpsail.field().setName(x3dpsail.SFString( "set_traceEnabled" )).setAccessType(x3dpsail.SFString( "inputOnly" )).setType(x3dpsail.SFString( "SFBool" ))).addField(x3dpsail.field().setName(x3dpsail.SFString( "position_changed"
meta7.setName("generator") meta7.setContent("X3D-Edit, https://savage.nps.edu/X3D-Edit") head1.addMeta(meta7) meta8 = x3dpsail.meta() meta8.setName("identifier") meta8.setContent("https://coderextreme.net/X3DJSONLD/flowerproto.x3d") head1.addMeta(meta8) X3D0.setHead(head1) Scene9 = x3dpsail.Scene() ProtoDeclare10 = x3dpsail.ProtoDeclare() ProtoDeclare10.setName("FlowerProto") ProtoInterface11 = x3dpsail.ProtoInterface() field12 = x3dpsail.field() field12.setName("vertex") field12.setAccessType("inputOutput") field12.setType("MFString") field12.setValue("\"../shaders/gl_flowers_chromatic.vs\"") ProtoInterface11.addField(field12) field13 = x3dpsail.field() field13.setName("fragment") field13.setAccessType("inputOutput") field13.setType("MFString") field13.setValue("\"../shaders/pc_flowers.fs\"") ProtoInterface11.addField(field13) ProtoDeclare10.setProtoInterface(ProtoInterface11)
Sphere14.setRadius(0.25) Shape13.setGeometry(Sphere14) Appearance15 = x3dpsail.Appearance() Material16 = x3dpsail.Material() Material16.setDiffuseColor([1,0,0]) Material16.setTransparency(0.2) Appearance15.setMaterial(Material16) Shape13.setAppearance(Appearance15) Transform12.addChildren(Shape13) Script17 = x3dpsail.Script() Script17.setDEF("bounce") field18 = x3dpsail.field() field18.setName("scale") field18.setAccessType("inputOutput") field18.setType("SFVec3f") field18.setValue("1 1 1") Script17.addField(field18) field19 = x3dpsail.field() field19.setName("translation") field19.setAccessType("inputOutput") field19.setType("SFVec3f") field19.setValue("0 0 0") Script17.addField(field19) field20 = x3dpsail.field() field20.setName("velocity")
"https://coderextreme.net/X3DJSONLD/src/main/resources/images/bRT.png" ]) ComposedCubeMapTexture18.setRight(ImageTexture23) ImageTexture24 = x3dpsail.ImageTexture() ImageTexture24.setUrl([ "resources/images/bTP.png", "https://coderextreme.net/X3DJSONLD/src/main/resources/images/bTP.png" ]) ComposedCubeMapTexture18.setTop(ImageTexture24) Appearance16.setTexture(ComposedCubeMapTexture18) ComposedShader25 = x3dpsail.ComposedShader() ComposedShader25.setLanguage("GLSL") field26 = x3dpsail.field() field26.setName("chromaticDispertion") field26.setAccessType("inputOutput") field26.setType("SFVec3f") field26.setValue("0.98 1 1.033") ComposedShader25.addField(field26) field27 = x3dpsail.field() field27.setName("cube") field27.setType("SFNode") field27.setAccessType("inputOutput") ComposedCubeMapTexture28 = x3dpsail.ComposedCubeMapTexture() ComposedCubeMapTexture28.setUSE("texture") field27.addChildren(ComposedCubeMapTexture28)
.addMeta(x3dpsail.meta().setName(x3dpsail.SFString("title")).setContent(x3dpsail.SFString("x3dconnectorProto"))) .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("creator")).setContent(x3dpsail.SFString("Lost, Doug Sanden I think"))) .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("generator")).setContent(x3dpsail.SFString("manual"))) .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("identifier")).setContent(x3dpsail.SFString("https://coderextreme.net/X3DJSONLD/x3dconnectorProto.x3d"))) .addMeta(x3dpsail.meta().setName(x3dpsail.SFString("description")).setContent(x3dpsail.SFString("a generic proto to connect two objects")))) .setScene(x3dpsail.Scene() .addChild(x3dpsail.Viewpoint().setPosition(x3dpsail.SFVec3f(0,0,5)).setDescription(x3dpsail.SFString("Only Viewpoint"))) .addChild(x3dpsail.Background().setSkyColor(x3dpsail.MFColor([0.4,0.4,0.4]))) .addChild(x3dpsail.Transform().setDEF(x3dpsail.SFString("DECLpoint_G1_node")) .addChild(x3dpsail.Shape() .setGeometry(x3dpsail.Sphere().setRadius(x3dpsail.SFFloat(0.1))) .setAppearance(x3dpsail.Appearance() .setMaterial(x3dpsail.Material().setDiffuseColor(x3dpsail.SFColor(1,0,0))))) .addChild(x3dpsail.PositionInterpolator().setDEF(x3dpsail.SFString("DECLpoint_G1_PI1")).setKey(x3dpsail.MFFloat([0,1])).setKeyValue(x3dpsail.MFVec3f([0,0,0,0,5,0]))) .addChild(x3dpsail.Script().setDEF(x3dpsail.SFString("DECLpoint_G1_MB1")) .addField(x3dpsail.field().setName(x3dpsail.SFString("translation")).setAccessType(x3dpsail.SFString("inputOutput")).setType(x3dpsail.SFString("SFVec3f")).setValue(x3dpsail.SFString("0 0 0"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("old")).setAccessType(x3dpsail.SFString("inputOutput")).setType(x3dpsail.SFString("SFVec3f")).setValue(x3dpsail.SFString("0 0 0"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("set_location")).setAccessType(x3dpsail.SFString("inputOnly")).setType(x3dpsail.SFString("SFTime"))) .addField(x3dpsail.field().setName(x3dpsail.SFString("keyValue")).setAccessType(x3dpsail.SFString("inputOutput")).setType(x3dpsail.SFString("MFVec3f")).setValue(x3dpsail.SFString("0 0 0 0 5 0"))).setSourceCode('''ecmascript:\n"+ " function set_location(value) {\n"+ " old = translation;\n"+ " translation = new SFVec3f(Math.random()*10-5, Math.random()*10-5, Math.random()*10-5);\n"+ " keyValue = new MFVec3f([old, translation]);\n"+ " // Browser.println(keyValue);\n"+ " }''') ) .addChild(x3dpsail.TimeSensor().setDEF(x3dpsail.SFString("DECLpoint_G1_CL1")).setCycleInterval(x3dpsail.SFTime(3)).setLoop(x3dpsail.SFBool(True))) .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("DECLpoint_G1_CL1")).setFromField(x3dpsail.SFString("cycleTime")).setToNode(x3dpsail.SFString("DECLpoint_G1_MB1")).setToField(x3dpsail.SFString("set_location"))) .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("DECLpoint_G1_CL1")).setFromField(x3dpsail.SFString("fraction_changed")).setToNode(x3dpsail.SFString("DECLpoint_G1_PI1")).setToField(x3dpsail.SFString("set_fraction"))) .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("DECLpoint_G1_MB1")).setFromField(x3dpsail.SFString("keyValue")).setToNode(x3dpsail.SFString("DECLpoint_G1_PI1")).setToField(x3dpsail.SFString("keyValue"))) .addChild(x3dpsail.ROUTE().setFromNode(x3dpsail.SFString("DECLpoint_G1_PI1")).setFromField(x3dpsail.SFString("value_changed")).setToNode(x3dpsail.SFString("DECLpoint_G1_node")).setToField(x3dpsail.SFString("set_translation"))))
Appearance42.setMaterial(Material43) Shape39.setAppearance(Appearance42) Transform38.addChildren(Shape39) Transform31.addChildren(Transform38) Scene28.addChildren(Transform31) Script44 = x3dpsail.Script() Script44.setDEF("TextScript") Script44.setUrl(["./ObliqueStrategiesScript.js"]) #initialize() method includes unit test to printAllStrategies() to console #TODO insert field definitions here (index string_changed previous next random) and then animate! field45 = x3dpsail.field() field45.setName("index") field45.setAccessType("initializeOnly") field45.setAppinfo("index for active strategy card, -1 means no selection") field45.setType("SFInt32") field45.setValue("0") Script44.addField(field45) field46 = x3dpsail.field() field46.setName("string_changed") field46.setAccessType("outputOnly") field46.setAppinfo("latest strategy card value") field46.setType("MFString") Script44.addField(field46) field47 = x3dpsail.field()
x3dpsail.SFString("force.x3d"))).addMeta(x3dpsail.meta().setName( x3dpsail.SFString("identifier")).setContent( x3dpsail.SFString( "https://coderextreme.net/X3DJSONLD/force.x3d"))). addMeta(x3dpsail.meta().setName( x3dpsail.SFString("description")).setContent( x3dpsail.SFString("beginnings of a force directed graph in 3D") )).addMeta(x3dpsail.meta().setName( x3dpsail.SFString("generator")).setContent( x3dpsail.SFString( "Vim, X3D-Edit, https://savage.nps.edu/X3D-Edit"))) ).setScene(x3dpsail.Scene().addChild(x3dpsail.ProtoDeclare().setName( x3dpsail.SFString("node")).setProtoInterface( x3dpsail.ProtoInterface().addField(x3dpsail.field().setName( x3dpsail.SFString("position")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("SFVec3f")).setValue( x3dpsail.SFString("0 0 0"))) ).setProtoBody( x3dpsail.ProtoBody().addChild(x3dpsail.Transform().setDEF( x3dpsail.SFString("transform")).setIS(x3dpsail.IS().addConnect( x3dpsail.connect().setNodeField( x3dpsail.SFString("translation")).setProtoField( x3dpsail.SFString("position")) )).addChild( x3dpsail.Shape().setGeometry( x3dpsail.Sphere()).setAppearance( x3dpsail.Appearance().setMaterial( x3dpsail.Material().setDiffuseColor( x3dpsail.SFColor(1, 0, 0)))) ).addChild(x3dpsail.Transform().setTranslation(
StringSensor58.setDEF("CenterSensor") StringSensor58.setEnabled(False) Transform48.addChildren(StringSensor58) TouchSensor59 = x3dpsail.TouchSensor() TouchSensor59.setDescription("touch to activate") TouchSensor59.setDEF("CenterTouch") Transform48.addChildren(TouchSensor59) Group13.addChildren(Transform48) ProtoBody12.addChildren(Group13) Script60 = x3dpsail.Script() Script60.setDEF("RightSingleToMultiString") field61 = x3dpsail.field() field61.setName("set_rightstring") field61.setAccessType("inputOnly") field61.setType("SFString") Script60.addField(field61) field62 = x3dpsail.field() field62.setName("rightlines") field62.setAccessType("outputOnly") field62.setType("MFString") Script60.addField(field62) Script60.setSourceCode('''ecmascript:\n"+ "\n"+ "function initialize() {\n"+
Material11.setDiffuseColor([0.7, 0.7, 0.7]) Material11.setSpecularColor([0.5, 0.5, 0.5]) Appearance10.setMaterial(Material11) Shape9.setAppearance(Appearance10) Sphere12 = x3dpsail.Sphere() Shape9.setGeometry(Sphere12) Transform8.addChildren(Shape9) Scene6.addChildren(Transform8) Script13 = x3dpsail.Script() Script13.setDEF("Bounce") field14 = x3dpsail.field() field14.setName("set_translation") field14.setAccessType("inputOnly") field14.setType("SFVec3f") field14.setValue("0 0 0") Script13.addField(field14) field15 = x3dpsail.field() field15.setName("translation_changed") field15.setAccessType("outputOnly") field15.setType("SFVec3f") field15.setValue("0 0 0") Script13.addField(field15) field16 = x3dpsail.field() field16.setName("translation")
X3D0.setHead(head1) Scene7 = x3dpsail.Scene() Viewpoint8 = x3dpsail.Viewpoint() Viewpoint8.setPosition([0, 0, 5]) Viewpoint8.setDescription("Only Viewpoint") Scene7.addChildren(Viewpoint8) Background9 = x3dpsail.Background() Background9.setSkyColor([0.4, 0.4, 0.4]) Scene7.addChildren(Background9) ProtoDeclare10 = x3dpsail.ProtoDeclare() ProtoDeclare10.setName("point") ProtoInterface11 = x3dpsail.ProtoInterface() field12 = x3dpsail.field() field12.setName("translation") field12.setAccessType("inputOutput") field12.setType("SFVec3f") field12.setValue("0 0 0") ProtoInterface11.addField(field12) ProtoDeclare10.setProtoInterface(ProtoInterface11) ProtoBody13 = x3dpsail.ProtoBody() Transform14 = x3dpsail.Transform() Transform14.setDEF("node") IS15 = x3dpsail.IS() connect16 = x3dpsail.connect() connect16.setNodeField("translation") connect16.setProtoField("translation")
"https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png" ]) ComposedCubeMapTexture18.setRight(ImageTexture23) ImageTexture24 = x3dpsail.ImageTexture() ImageTexture24.setUrl([ "../resources/images/all_probes/stpeters_cross/stpeters_top.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png" ]) ComposedCubeMapTexture18.setTop(ImageTexture24) Appearance16.setTexture(ComposedCubeMapTexture18) ComposedShader25 = x3dpsail.ComposedShader() ComposedShader25.setLanguage("GLSL") field26 = x3dpsail.field() field26.setName("xxxcube") field26.setType("SFInt32") field26.setAccessType("inputOutput") field26.setValue("0") ComposedShader25.addField(field26) field27 = x3dpsail.field() field27.setName("cube") field27.setType("SFNode") field27.setAccessType("inputOutput") ComposedCubeMapTexture28 = x3dpsail.ComposedCubeMapTexture() ComposedCubeMapTexture28.setUSE("texture") field27.addChildren(ComposedCubeMapTexture28)
head1.addMeta(meta12) X3D0.setHead(head1) Scene13 = x3dpsail.Scene() ProtoDeclare14 = x3dpsail.ProtoDeclare() ProtoDeclare14.setName("ArchPrototype") ProtoDeclare14.setAppinfo( "Create an arch. Can modify general parameters: clearSpanWidth, riseHeight, depth, topAbutmentHeight, pierWidth, pierHeight. - Possibility to create shapes related to an arch: ArchHalf; IntradosOnly; ArchFilled; ArchHalfFilled; Lintel. See the reference file ArchModelingDiagrams.pdf to find further information. See also ArchPrototypeScript_more_readable.js.js." ) ProtoInterface15 = x3dpsail.ProtoInterface() #COLOR OF ARCH #INPUT PARAMETERS #General parameters: measures in meters #Parameters to create to create shapes related to arch: put true to apply field16 = x3dpsail.field() field16.setName("diffuseColor") field16.setAccessType("inputOutput") field16.setAppinfo("color of arch") field16.setType("SFColor") field16.setValue("0.2 0.8 0.8") ProtoInterface15.addField(field16) field17 = x3dpsail.field() field17.setName("emissiveColor") field17.setAccessType("inputOutput") field17.setAppinfo("color of arch") field17.setType("SFColor") field17.setValue("0.2 0.8 0.8") ProtoInterface15.addField(field17)
x3dpsail.SFString( "https://coderextreme.net/X3DJSONLD/box.x3d"))).addMeta( x3dpsail.meta().setName( x3dpsail.SFString("description")).setContent( x3dpsail.SFString("3 boxes"))) ).setScene(x3dpsail.Scene().addChild(x3dpsail.NavigationInfo().setType( x3dpsail.MFString([ "EXAMINE" ]))).addChild(x3dpsail.Viewpoint().setDescription( x3dpsail.SFString("Cubes on Fire")).setPosition( x3dpsail.SFVec3f(0, 0, 12))).addChild(x3dpsail.ProtoDeclare( ).setName(x3dpsail.SFString("anyShape")).setProtoInterface( x3dpsail.ProtoInterface().addField( x3dpsail.field().setName( x3dpsail.SFString("xtranslation")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("SFVec3f")).setValue( x3dpsail.SFString("0 0 0"))). addField(x3dpsail.field().setName( x3dpsail.SFString("myShape")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("MFNode")). addChild(x3dpsail.Shape().setGeometry( x3dpsail.Sphere()).setAppearance( x3dpsail.Appearance().setMaterial( x3dpsail.Material().setDiffuseColor( x3dpsail.SFColor(1, 1, 1)))))) ).setProtoBody(x3dpsail.ProtoBody().addChild( x3dpsail.Transform().setIS(x3dpsail.IS().addConnect( x3dpsail.connect().setNodeField( x3dpsail.SFString("translation")).setProtoField(
meta5.setName("identifier") meta5.setContent("https://coderextreme.net/X3DJSONLD/abox.x3d") head1.addMeta(meta5) meta6 = x3dpsail.meta() meta6.setName("description") meta6.setContent("a box") head1.addMeta(meta6) X3D0.setHead(head1) Scene7 = x3dpsail.Scene() ProtoDeclare8 = x3dpsail.ProtoDeclare() ProtoDeclare8.setName("anyShape") ProtoInterface9 = x3dpsail.ProtoInterface() field10 = x3dpsail.field() field10.setName("myShape") field10.setAccessType("inputOutput") field10.setType("MFNode") Shape11 = x3dpsail.Shape() Sphere12 = x3dpsail.Sphere() Shape11.setGeometry(Sphere12) field10.addChildren(Shape11) ProtoInterface9.addField(field10) ProtoDeclare8.setProtoInterface(ProtoInterface9) ProtoBody13 = x3dpsail.ProtoBody() Transform14 = x3dpsail.Transform()
X3D0.setHead(head1) Scene7 = x3dpsail.Scene() NavigationInfo8 = x3dpsail.NavigationInfo() NavigationInfo8.setType(["EXAMINE"]) Scene7.addChildren(NavigationInfo8) Viewpoint9 = x3dpsail.Viewpoint() Viewpoint9.setDescription("Rubiks Cube") Viewpoint9.setPosition([0, 0, 12]) Scene7.addChildren(Viewpoint9) ProtoDeclare10 = x3dpsail.ProtoDeclare() ProtoDeclare10.setName("sphere") ProtoInterface11 = x3dpsail.ProtoInterface() field12 = x3dpsail.field() field12.setName("xtranslation") field12.setAccessType("inputOutput") field12.setType("SFVec3f") field12.setValue("0 0 0") ProtoInterface11.addField(field12) ProtoDeclare10.setProtoInterface(ProtoInterface11) ProtoBody13 = x3dpsail.ProtoBody() Transform14 = x3dpsail.Transform() IS15 = x3dpsail.IS() connect16 = x3dpsail.connect() connect16.setNodeField("translation") connect16.setProtoField("xtranslation")
).setRightUrl( x3dpsail.MFString([ "../resources/images/all_probes/stpeters_cross/stpeters_right.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png" ]) ).setTopUrl( x3dpsail.MFString([ "../resources/images/all_probes/stpeters_cross/stpeters_top.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png" ]))).addChild( x3dpsail.Group().addChild(x3dpsail.ExternProtoDeclare().setName( x3dpsail.SFString("FlowerProto")).setUrl( x3dpsail.MFString( ["../data/flowerproto.json#FlowerProto"])).addField( x3dpsail.field().setName( x3dpsail.SFString("vertex")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("MFString")) ).addField(x3dpsail.field().setName( x3dpsail.SFString("fragment")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("MFString")))). addChild(x3dpsail.ProtoDeclare().setName( x3dpsail.SFString("flower")).setProtoBody( x3dpsail.ProtoBody().addChild(x3dpsail.Group().addChild( x3dpsail.ProtoInstance().setName( x3dpsail.SFString("FlowerProto") ).addFieldValue(x3dpsail.fieldValue().setName( x3dpsail.SFString("vertex")).setValue( x3dpsail.SFString( "\"../shaders/x3dom_flowers_chromatic.vs\"") )).addFieldValue(x3dpsail.fieldValue().setName(
)).setRight(x3dpsail.ImageTexture().setUrl( x3dpsail.MFString([ "../resources/images/all_probes/uffizi_cross/uffizi_right.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/uffizi_cross/uffizi_right.png" ]) )).setTop(x3dpsail.ImageTexture().setUrl( x3dpsail.MFString([ "../resources/images/all_probes/uffizi_cross/uffizi_top.png", "https://coderextreme.net/X3DJSONLD/images/all_probes/uffizi_cross/uffizi_top.png" ])))).addShaders( x3dpsail.ComposedShader().setDEF( x3dpsail.SFString("cobweb")).setLanguage( x3dpsail.SFString("GLSL")).addField( x3dpsail.field().setName( x3dpsail.SFString("cube")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("SFInt32")).setValue( x3dpsail.SFString("0"))). addField(x3dpsail.field().setName( x3dpsail.SFString("chromaticDispertion")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("SFVec3f")).setValue( x3dpsail.SFString("0.98 1 1.033"))).addField( x3dpsail.field().setName( x3dpsail.SFString("bias")).setAccessType( x3dpsail.SFString("inputOutput")).setType( x3dpsail.SFString("SFFloat")).setValue( x3dpsail.SFString("0.5"))). addField(x3dpsail.field().setName( x3dpsail.SFString("scale")).setAccessType( x3dpsail.SFString("inputOutput")).setType(