load('X3Dautoclass.js'); var ConfigurationProperties = Packages.org.web3d.x3d.jsail.ConfigurationProperties; ConfigurationProperties.showDefaultAttributes = false; ConfigurationProperties.xsltEngine = ConfigurationProperties.XSLT_ENGINE_nativeJava; ConfigurationProperties.deleteIntermediateFiles = false; ConfigurationProperties.setStripTrailingZeroes(true); new X3DObject().setProfile("Immersive").setVersion("3.3") .setHead(new headObject() .addMeta(new metaObject().setName("title").setContent("geo.x3d")) .addMeta(new metaObject().setName("creator").setContent("John Carlson")) .addMeta(new metaObject().setName("generator").setContent("manual")) .addMeta(new metaObject().setName("identifier").setContent("http://coderextreme.net/X3DJSONLD/geo.x3d")) .addMeta(new metaObject().setName("description").setContent("a sphere"))) .setScene(new SceneObject() .addChild(new NavigationInfoObject().setType(Java.to(["EXAMINE"], Java.type("java.lang.String[]")))) .addChild(new ViewpointObject().setDEF("Tour").setDescription("Tour Views")) .addChild(new ViewpointObject().setPosition(Java.to([0,0,4], Java.type("float[]"))).setDescription("sphere in road")) .addChild(new BackgroundObject().setBackUrl(Java.to(["bBK.png","http://coderextreme.net/bug/bBK.png"], Java.type("java.lang.String[]"))).setBottomUrl(Java.to(["bBT.png","http://coderextreme.net/bug/bBT.png"], Java.type("java.lang.String[]"))).setFrontUrl(Java.to(["bFR.png","http://coderextreme.net/bug/bFR.png"], Java.type("java.lang.String[]"))).setLeftUrl(Java.to(["bLF.png","http://coderextreme.net/bug/bLF.png"], Java.type("java.lang.String[]"))).setRightUrl(Java.to(["bRT.png","http://coderextreme.net/bug/bRT.png"], Java.type("java.lang.String[]"))).setTopUrl(Java.to(["bTP.png","http://coderextreme.net/bug/bTP.png"], Java.type("java.lang.String[]")))) .addChild(new TransformObject().setDEF("Rose01") .addChild(new ShapeObject() .setGeometry(new SphereObject()) .setAppearance(new AppearanceObject().setDEF("_01_-_Default") .setMaterial(new MaterialObject().setDiffuseColor(Java.to([0.7,0.7,0.7], Java.type("float[]"))).setSpecularColor(Java.to([0.5,0.5,0.5], Java.type("float[]")))) .setTexture(new ComposedCubeMapTextureObject() .setBack(new ImageTextureObject().setUrl(Java.to(["bBK.png","http://coderextreme.net/bug/bBK.png"], Java.type("java.lang.String[]")))) .setBottom(new ImageTextureObject().setUrl(Java.to(["bBT.png","http://coderextreme.net/bug/bBT.png"], Java.type("java.lang.String[]")))) .setFront(new ImageTextureObject().setUrl(Java.to(["bFR.png","http://coderextreme.net/bug/bFR.png"], Java.type("java.lang.String[]")))) .setLeft(new ImageTextureObject().setUrl(Java.to(["bLF.png","http://coderextreme.net/bug/bLF.png"], Java.type("java.lang.String[]")))) .setRight(new ImageTextureObject().setUrl(Java.to(["bRT.png","http://coderextreme.net/bug/bRT.png"], Java.type("java.lang.String[]")))) .setTop(new ImageTextureObject().setUrl(Java.to(["bTP.png","http://coderextreme.net/bug/bTP.png"], Java.type("java.lang.String[]"))))) .addShaders(new ComposedShaderObject().setDEF("cobweb").setLanguage("GLSL") .addField(new fieldObject().setName("cube").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFINT32).setValue("0")) .addField(new fieldObject().setName("chromaticDispertion").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFVEC3F).setValue("0.98 1 1.033")) .addField(new fieldObject().setName("bias").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFFLOAT).setValue("0.5")) .addField(new fieldObject().setName("scale").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFFLOAT).setValue("0.5")) .addField(new fieldObject().setName("power").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFFLOAT).setValue("2")) .addParts(new ShaderPartObject().setUrl(Java.to(["cobweb.vs","http://coderextreme.net/X3DJSONLD/cobweb.vs"], Java.type("java.lang.String[]"))).setType("VERTEX")) .addParts(new ShaderPartObject().setUrl(Java.to(["pc_bubbles.fs","http://coderextreme.net/X3DJSONLD/pc_bubbles.fs"], Java.type("java.lang.String[]"))).setType("FRAGMENT"))) .addShaders(new ComposedShaderObject().setDEF("x3dom").setLanguage("GLSL") .addField(new fieldObject().setName("cube").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFINT32).setValue("0")) .addField(new fieldObject().setName("chromaticDispertion").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFVEC3F).setValue("0.98 1 1.033")) .addField(new fieldObject().setName("bias").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFFLOAT).setValue("0.5")) .addField(new fieldObject().setName("scale").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFFLOAT).setValue("0.5")) .addField(new fieldObject().setName("power").setAccessType(fieldObject.ACCESSTYPE_INPUTOUTPUT).setType(fieldObject.TYPE_SFFLOAT).setValue("2")) .addParts(new ShaderPartObject().setUrl(Java.to(["x3dom.vs","http://coderextreme.net/X3DJSONLD/x3dom.vs"], Java.type("java.lang.String[]"))).setType("VERTEX")) .addParts(new ShaderPartObject().setUrl(Java.to(["pc_bubbles.fs","http://coderextreme.net/X3DJSONLD/pc_bubbles.fs"], Java.type("java.lang.String[]"))).setType("FRAGMENT"))))))) .toFileX3D("geo.new.x3d");