Skip to main content

Changelog - WebGi SDK

(dev)

  • Set depthTonemap to true by default in setupCoreWebGiViewer
  • Set importPopup to false by default in setupCoreWebGiViewer
  • Add AAssetManagerProcessStatePlugin as helper to access the current state/progress while importing/exporting files through the AssetManagerPlugin
  • Add AssetManagerLoadingBarPlugin, to show top loading bar while importing and exporting files, added by default in setupCoreWebGiViewer
  • Export SSBevelPlugin and NormalBufferPlugin in bundle.
  • autoScale will now also scale the object position to work properly with autoCenter
  • Enable autoCenter instead of pseudoCenter in Dropzone options.
  • Add 'panel' as alternative to 'folder' in UiObjectConfig.
  • RendererUiPlugin: width and height are not serialized when its more than the canvas container size(at export time).
  • Implement serialization of LUT Cube texture files as embedded blobs in viewer config resources while exporting GLB files.

0.5.5

  • Add WEBGI_materials_displacementmap as GLTF extension to export displacement map, scale and bias in GLTF.
  • Fixed a bug when exporting lightMap with WEBGI_materials_lightmap extension.
  • Fix refresh of camera UI objects in CameraUiPlugin.
  • Rename SerializableOrbitControls to OrbitControls3
  • Add setControlsCtor and setControlsCtor in CameraController to add custom camera controls with mode.
  • Add abstract class ACameraControlsPlugin to attach new camera controls to the viewer cameras.
  • Add DeviceOrientationControlsPlugin ts version of DeviceOrientationControls with added features, using ACameraControlsPlugin.
  • Add FirstPersonControls2, ts version of FirstPersonControls with added features, using ACameraControlsPlugin.
  • Add PointerLockControls2, ts version of PointerLockControls with added features, using ACameraControlsPlugin.
  • Removed DeviceOrientationPlugin.
  • Fix signature of RootScene.addEventListener to get event types in autocomplete.
  • Add IMaterial.dispose() (dev) - this will automatically dispose all the Texture objects on the material that are not used by any other material in MaterialManager, unless texture.userData.disposeOnIdle is false. The material must be registered with MaterialManager(which happens during load from AssetManagerPlugin), and it is automatically unregistered on dispose.
  • Rename material.userData.appliedMeshes to material.userData.__appliedMeshes.
  • Rename geometry.userData.appliedMeshes to geometry.userData.__appliedMeshes.
  • Add viewer.createMaterial() to create new materials. (similar to viewer.createPhysicalMaterial with ability to create any material type).
  • Add CSS3DRendererPlugin to editor UI and export class in bundle.
  • Add forcedLinearDepth support in GbufferPlugin in material userData.
  • Fix issue with alpha map clearing scene on rendering in GbufferPlugin.
  • Fix material indexing for multi-materials in CSGPluginBSP.

0.5.4

  • Add CSGPluginBVH and CSGPluginBSP
  • Add deviceOrientation to controlsMode in ICamera.
  • Improve CameraController to support different types of controls.
  • Add DeviceOrientationPlugin (alpha)
  • Add support to import/export polygonOffset parameters in gltf material extras extension.
  • Allow negative values in offset and repeat in texture sampler UI config.
  • Export class SSGIPlugin in bundle. (beta)
  • Change DropzonePlugin default import options with pseudoCenter: true and autoCenter: false
  • Export class EllipseCurve3D in bundle.
  • Fix parameters refresh on deserialize in RendererUiPlugin. Add RendererUiPlugin.refreshSize() to trigger setSize manually.
  • Add support for loading .cube files in Tweakpane Image UI.
  • Edit ViewerApp.setBackgroundColor to return void instead of Promise<void>
  • Add SSBevelPlugin (alpha)
  • Add CombinedPostPlugin for combining all screen post-processing in a single pass
  • Add abstract class GenericExtensionPlugin for post-processing extensions to be added in CombinedPostPlugin
  • Add ChromaticAberrationPlugin, FilmicGrainPlugin, GammaCorrectionPlugin, LUTPlugin, VignettePlugin
  • Add ChromaticAberrationExtension, FilmicGrainExtension, GammaCorrectionExtension, LUTExtension, VignetteExtension, TonemapExtension all implementing MaterialExtension
  • Update TonemapPlugin to use CombinedPostPlugin. Add TonemapExtension to implement tonemap postprocessing. Use viewer.getPlugin(TonemapPlugin).config instead of viewer.getPlugin(TonemapPlugin).pass.passObject.
  • GLTFExporter will convert all BufferGeometry attributes to non-normalized and export.
  • Fixed import of Material.side in gltf material extras extension.
  • Automatic Gamma correction removed from the viewer, add GammaCorrectionPlugin to get the same look.

0.5.3

  • In AssetImporter, importing disposed models again by path will automatically reimport the objects, unless reimportDisposed is set to false in import options.
  • Fix error when importing Line objects in 3dm files.
  • Add depthFunc to gltf in WEBGI_material_extras extension
  • When importing assets with AssetManagerPlugin, all meshes with no material will be assigned a default standard material.
  • Add mipmap filtering options to texture UI config.
  • Add depthFunc and depthTest to physical material UI config.
  • Prevent scene update in SelectionWidget visibility change.
  • Add alert, confirm and prompt to ViewerApp and IUiObjectConfig
  • Export ClearcoatTintPlugin, PresetLibraryPlugin, SceneLoopPlugin
  • Add WindowiseDialogPlugin to editor for better alert, confirm and prompt. by overriding in viewer
  • Fixed UX issue where it's not possible to set image by url without setting a load one first.
  • Add makeDiamondMesh in DiamondPlugin to convert only a single mesh to diamond. (Make Diamond in the UI now prompts the user to convert all or just the selected mesh)
  • Fix SVG serialization and deserialization in GLB files as image source.
  • Update three.js to r143.

0.5.2

  • depthTonemap is true by default in TonemapPlugin
  • Add dollyZoom to OrbitControls, CameraController
  • Fix issues with clipBackground and non-tonemapped objects
  • Reimporting materials with the same url or asset with addFromPath, importSinglePath, importAsset etc will not create new materials, instead instances created earlier will be returned.
  • Fix issues with depth rendering in Reflector2 (used with GroundPlugin)
  • Add types for options passed to AssetImporter, AssetExporter, AssetManagerPlugin, RootScene
  • Add autoCenter in Object3DModel and import options, to center the imported model by changing its location according to bounding box. This is an alternative to pseudoCenter which creates a new parent.
  • Moved setMaterial, setGeometry, setDirty and dispose to IModel interface from its userData(along with types in IModel interface). So instead of calling object.modelObject.userData.setDirty() you can call object.setDirty() directly.
  • Deprecation warning for setter functions in userData for Object3D and Mesh
  • Fixed bug where environment map intensity is not synced multiple materials on a single mesh.
  • Add SceneCamerasUiPlugin for listing cameras in the scene, with camera UI options to set to the active camera or copy view settings to the current active camera.
  • Add event handling for setView and activateMain events. Dispatch these events on cameras to change the main camera or copy view settings to the current active camera like: camera.dispatchEvent({type: 'setView', camera: camera})
  • Moved material.userData.setDirty() to material.setDirty()
  • Add uuid, visible and userData to IModel interface.
  • limitCameraAboveGround in BaseGroundPlugin set to false by default as it can interfere with serialization of custom maxPolarAngle value in SerializableOrbitControls.
  • Fix issue with SSR and AO multiplication when applied to the same object.

0.5.1

  • Disposing an object with object.modelObject.userData.dispose() will dispose all children as well.
  • Add progress parameter for download progress (computed based on downloaded bytes) in importFile event of AssetImporter
  • hierarchyChanged parameter added to sceneUpdate event in RootScene, fired when some object is added or removed from the scene's model root.
  • Add traverseSceneObjects to ViewerApp to traverse all objects added to the scene model root.
  • Rewrite LightsUiPlugin to update with scene.
  • Fix noise with high roughness in Reflector2
  • Fix issues when deserializing default camera options.

0.5.0

  • Removed processors from RootScene
  • Convert setBackground and setEnvironment functions to sync. (in ViewerApp and RootScene)
  • Add support for MSAA with isAntialiased parameter in ViewerApp constructor.
  • Fixed issues with serialization of large DataTextures.
  • Add blurTransmissionTarget in RenderPass2
  • Changed defaults for GroundPlugin
  • Shadow type set to PCFSoftShadowMap by default. It can be changed by setting viewer.renderer.rendererObject.shadowMap.type
  • Add support for Unlit materials with MeshBasicMaterial2
  • Add autoPushTarget with minDistance in OrbitControls
  • Fixed issues when importing empty scenes with viewer configurations.
  • Fixed read of normalMapBias when importing lights.
  • Several other fixes and UI tweaks.
  • Add CameraUiPlugin and RendererUiPlugin
  • Export LightsUiPlugin in webgi bundle.