{"_id":"5b4e90b9d9ea0b00031c6162","category":{"_id":"5b4e90b9d9ea0b00031c6159","version":"5b4e90b9d9ea0b00031c6194","project":"5a065a6134873d0010b396ab","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-10-25T23:36:45.975Z","from_sync":false,"order":0,"slug":"basics","title":"Getting Started"},"user":"57bb7e47afc18c0e00529cf3","project":"5a065a6134873d0010b396ab","parentDoc":null,"version":{"_id":"5b4e90b9d9ea0b00031c6194","project":"5a065a6134873d0010b396ab","__v":0,"forked_from":"5b3678bdbb84cb0003b1d8db","createdAt":"2018-04-18T18:19:34.288Z","releaseDate":"2018-04-18T18:19:34.288Z","categories":["5b4e90b9d9ea0b00031c6159","5b4e90b9d9ea0b00031c615a","5b4e90b9d9ea0b00031c615b","5b05923ea5a2f9000357b452","5b05f793c2c86c0003cbe414","5b4e90b9d9ea0b00031c615c","5b4e90b9d9ea0b00031c615d","5b4e90b9d9ea0b00031c615e"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.8.2","version":"1.8.2"},"__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-11-16T00:32:47.911Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":3,"body":"<span style=\"font-size:25px;font-weight:700\"><a href=\"https://s3-us-west-2.amazonaws.com/virocore/1_8_2/virocore-release-v_1_8_2.aar\">ViroCore v1.8.2</a></span> <span style=\"margin-left:20px;margin-bottom:10px;line-height:6px;height:26px;border:1px solid; border-radius:2px; border-color:#2cbe4e; color:#2cbe4e; display:inline-block;padding-top:3px;padding-bottom:3px;padding-left:4px;padding-right:4px;\">\n          <span style=\"padding-bottom:5px\">Latest release</span>\n</span>\n\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">Bug fixes related to animation and model loading.</td><td style=\"border:0px\">7/17/2018</td></tr></table>\n\n## Downloads\n__[virocore-release-v_1_8_2.aar][1] __\n\n## Bug Fixes\n* Fixed ref overflow crash related to 3d models.\n* Fixed animation bug where animations were not starting and stopping properly.\n\n## Upgrade instructions\nTo upgrade from ViroCore 1.7.0 or later:\n1. Download the new ViroCore AAR [here][1], and use it to replace your existing ViroCore AAR file. Modify your `viro_core/build.gradle` to point to the new file.\n\nIf you are upgrading from ViroCore 1.6 or earlier, you'll also have to:\n1. Update to ARCore 1.2.0 by downloading the file [here][2]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file.\n2. If you are using VR, upgrade to the newer GVR library [here][3]. Place the new file in the `gvr_common` directory and modify your `gvr_common/build.gradle` to point to the file.\n\n[1]:https://s3-us-west-2.amazonaws.com/virocore/1_8_2/virocore-release-v_1_8_2.aar\n[2]:https://s3-us-west-2.amazonaws.com/virocore/1_8_2/core-1.2.0.aar\n[3]:https://s3-us-west-2.amazonaws.com/virocore/1_8_2/sdk-common-1.130.0.aar\n[4]:https://developer.viromedia.com/virocore/reference/com/viro/core/FrameListener.html\n[5]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARPlaneAnchor.Alignment.html\n<br>\n[block:api-header]\n{}\n[/block]\n<span style=\"font-size:25px;font-weight:700\"><a href=\"https://s3-us-west-2.amazonaws.com/virocore/1_8_0/virocore-release-v_1_8_0.aar\">ViroCore v1.8.0</a></span> \n\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">GLTF skeletal animation, rendering improvements, and bug fixes!</td><td style=\"border:0px\">7/2/2018</td></tr></table>\n\n## Downloads\n__[virocore-release-v_1_8_0.aar][1] __\n\n## New Features and Improvements\n* GLTF skeletal animation support!\n* [FrameListener][4] for receiving per-frame callbacks\n* Sharper text rendering \n* Performance improvements and reduced frame skips when loading models\n* Added support for child node manipulation within 3D Models.\n\n## Bug Fixes\n* Corrected issues with changing chroma key filtering color\n* Fixed issue where onAnchorFound reported the wrong initial value\n* Fixed bug where camera did not always inherit from parent nodes\n\n## Breaking API Changes\n\n* ARPlaneAnchor.Alignment.NON_HORIZONTAL was renamed to [VERTICAL][5]\n\n## Upgrade instructions\nTo upgrade from ViroCore 1.7.0 or later:\n1. Download the new ViroCore AAR [here][1], and use it to replace your existing ViroCore AAR file. Modify your `viro_core/build.gradle` to point to the new file.\n\nIf you are upgrading from ViroCore 1.6 or earlier, you'll also have to:\n1. Update to ARCore 1.2.0 by downloading the file [here][2]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file.\n2. If you are using VR, upgrade to the newer GVR library [here][3]. Place the new file in the `gvr_common` directory and modify your `gvr_common/build.gradle` to point to the file.\n\n[1]:https://s3-us-west-2.amazonaws.com/virocore/1_8_0/virocore-release-v_1_8_0.aar\n[2]:https://s3-us-west-2.amazonaws.com/virocore/1_8_0/core-1.2.0.aar\n[3]:https://s3-us-west-2.amazonaws.com/virocore/1_8_0/sdk-common-1.130.0.aar\n[4]:https://developer.viromedia.com/virocore/reference/com/viro/core/FrameListener.html\n[5]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARPlaneAnchor.Alignment.html\n<br>\n[block:api-header]\n{}\n[/block]\n<span style=\"font-size:25px;font-weight:700\"><a href=\"https://s3-us-west-2.amazonaws.com/virocore/1_7_2/virocore-release-v_1_7_2.aar\">ViroCore v1.7.2</a></span> \n\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">Fixed minor bugs from 1.7.2</td><td style=\"border:0px\">6/4/2018</td></tr></table>\n\n## Downloads\n__[virocore-release-v_1_7_2.aar][1] __\n\n## Bug Fixes\n* Fixed transparent shadow planes being visible due to tone mapping\n\n## Upgrade instructions\nTo upgrade from ViroCore 1.7.0, you'll have to do the following:\n1. Download the new ViroCore AAR [here][1], and use it to replace your existing ViroCore AAR file. Modify your `viro_core/build.gradle` to point to the new file.\n\nIf you are upgrading from ViroCore 1.6 or earlier, you'll also have to:\n1. Update to ARCore 1.2.0 by downloading the file [here][2]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file.\n2. If you are using VR, upgrade to the newer GVR library [here][3]. Place the new file in the `gvr_common` directory and modify your `gvr_common/build.gradle` to point to the file.\n\n[1]:https://s3-us-west-2.amazonaws.com/virocore/1_7_2/virocore-release-v_1_7_2.aar\n[2]:https://s3-us-west-2.amazonaws.com/virocore/1_7_2/core-1.2.0.aar\n[3]:https://s3-us-west-2.amazonaws.com/virocore/1_7_2/sdk-common-1.130.0.aar\n<br>\n[block:api-header]\n{}\n[/block]\n<span style=\"font-size:25px;font-weight:700\"><a href=\"https://s3-us-west-2.amazonaws.com/virocore/1_7_0/app-viro_core-release.aar\">ViroCore v1.7.0</a></span>\n\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">GLTF, ARCore 1.2, Cloud Anchors, Vertical Planes, Alpha Video, and Fewer Bugs!</td><td style=\"border:0px\">5/24/2018</td></tr></table>\n\n## Downloads\n__[virocore-release-v_1_7_0.aar][4] __\n\n## New Features (from 1.6 to 1.7)\n\n* __GLTF Model Loading__\n    * Support for loading [GLTF models](doc:3d-objects#section-gltf) in GLTF and GLB formats.\n* __ARCore 1.2 support__\n    * Improved image detection\n    * Detect vertical planes\n    * Much [wider range][1] of supported devices\n* __Cloud Anchors and Manual Anchors__\n    * [Share ARNodes](doc:ar-cloud) with other users for multiplayer and collaborative experiences\n    * Attach anchors manually to hit results and world locations\n* __Alpha Video__\n    * [Chroma-key filtering](doc:video#alpha-video-chroma-key-filtering) enables [hologram][2] videos in AR\n* __And More__\n    * [Fixed to Plane dragging](doc:ar-interaction#fixed-to-plane-dragging): drag nodes across fixed, user-specified planes\n    * Retrieve the estimated light [color][6] and [intensity][7] from the ARScene\n    * HDR tone-mapping is now performed only on HDR-lit areas of the scene, providing better camera fidelity\n    * Text has been sharpened  \n   \n## Bug Fixes\n* The model loaded callback is not invoked until *all* textures are loaded\n* Node position, rotation, and scale are immediately available when set\n* Video recorder no longer fails on second recording\n* Raw solid material colors are now linearized correctly\n* Texture builders properly propagate all settings\n* Mali GPU over-saturation has been fixed\n* Physics quads no longer fall through the floor\n\n## Breaking API Changes\n\n* [ARScene.Listener onAmbientLightUpdate(float, Vector)][5] now takes an RGB color vector as input instead of a color temperature.\n* Object3D [loadModel()][8] requires the ViroContext (which you can get from any ViroView instance).\n\n## Upgrade instructions\nTo upgrade from ViroCore 1.6.0, you'll have to do the following:\n1. Download the new ViroCore AAR [here][4], and use it to replace your existing ViroCore AAR file. Modify your `viro_core/build.gradle` to point to the new file.\n2. Update to ARCore 1.2.0 by downloading the file [here][3]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file.\n3. If you are using VR, upgrade to the newer GVR library [here][9]. Place the new file in the `gvr_common` directory and modify your `gvr_common/build.gradle` to point to the file.\n \n[1]:https://developers.google.com/ar/discover/supported-devices\n[2]:https://www.youtube.com/watch?v=68-bjoF1Vdk\n[3]:https://s3-us-west-2.amazonaws.com/virocore/1_7_0/core-1.2.0.aar\n[4]:https://s3-us-west-2.amazonaws.com/virocore/1_7_0/virocore-release-v_1_7_0.aar\n[5]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.Listener.html#onAmbientLightUpdate(float,%20com.viro.core.Vector)\n[6]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.html#getEstimatedAmbientLightColor()\n[7]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.html#getEstimatedAmbientLightIntensity()\n[8]:https://developer.viromedia.com/virocore/reference/com/viro/core/Object3D.html#loadModel(com.viro.core.ViroContext,%20android.net.Uri,%20com.viro.core.Object3D.Type,%20com.viro.core.AsyncObject3DListener)\n[9]:https://s3-us-west-2.amazonaws.com/virocore/1_7_0/sdk-common-1.130.0.aar\n\n<br>\n[block:api-header]\n{}\n[/block]\n<span style=\"font-size:25px;font-weight:700\"><a href=\"https://s3-us-west-2.amazonaws.com/virocore/1_6_0/app-viro_core-release.aar\">ViroCore v1.6.0</a></span>\n\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">Image detection in AR and more bug fixes.</td><td style=\"border:0px\">4/19/2018</td></tr></table>\n\n\n## Downloads\n__[viro_core-release.aar][13] __\n\n## New Features\n\n* __Image recognition__\n    * Support for Image Recognition in AR. Detect [image targets][10] with image recognition. Developers can find and recognize the position of markers and images in the real-world and respond to them in their apps.\n* __ARCore 1.1 support__\n   \n## Bug Fixes\n* Fixed: Controller events are not called back ([Github Issue #74](https://github.com/viromedia/virocore/issues/74))\n* Fixed: Z-fighting issues for text at long distances\n* Fixed: Shadow planes in AR were appearing grey\n* Fixed: FBX animation memory leaks\n* Fixed: Assets with spaces now work correctly\n\n## Upgrade instructions\nTo upgrade from ViroCore 1.5.0, you'll have to do the following:\n1. Download the new ViroCore AAR [here][13], and use it to replace your existing ViroCore AAR file.\n2. Update to ARCore 1.1.0 by downloading the file [here][12]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file.\n \n[10]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARImageTarget.html\n[12]:https://s3-us-west-2.amazonaws.com/virocore/1_6_0/core-1.1.0.aar\n[13]:https://s3-us-west-2.amazonaws.com/virocore/1_6_0/app-viro_core-release.aar\n\n[block:api-header]\n{\n  \"title\": \"ViroCore v1.5.0\"\n}\n[/block]\n\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">Major release with a host of   features requested by our customers, and bug fixes.</td><td style=\"border:0px\">3/29/2018</td></tr></table>\n\n\n## Downloads\n__[viro_core-release.aar][9] __\n\n## New Features\n\n* __New Trackable States for ARCore / ARKit__\n    * Be informed when AR tracking improves or degrades through [ARScene.Listener.onTrackingUpdated()][7]\n<br>\n* __Improved Text and Fonts__\n    * Internationalization: support for Chinese, Japanese, and Korean characters\n    * Render mixed-language text by specifying a list of [font families][4]\n    * Support for more system fonts on Android, including system font groups ('monospace', 'cursive', etc.)\n    * Improved font specification: choose [font weight][5] (100 to 900) and [font style][6] (italic)\n<br>\n* __Improved Packaging__\n    * Reduced SDK requirement for VR to API Level 19 (equivalent to Cardboard)\n    * ```x86_64``` architecture support on iOS \n        * Enables the iOS simulator (this uses software emulated OpenGL, so it's slow!)\n    * ```arm64-v8a``` architecture support on Android\n        * We recommend using [Android ABI splitting][8] to reduce binary size for your customers\n<br>\n* __And More!__\n    * [Polygonal planes][1]: render non-rectangular planes [detected][2] by ARKit and ARCore\n    * Point cloud rendering: render point clouds using the new [fixed particle emitter][3]\n    * Windowed (non-full) screen mode for AR view and 360 view\n    * Exoplayer updated to version 2.7.1\n\n## Bug Fixes\n* Fixed: Colors were dark when recording video ([Github Issue #44](https://github.com/viromedia/virocore/issues/44))\n* Fixed: Assets could not be placed in sub-folders\n* Fixed: FBX bounding box returned incorrect values ([Github Issue #55](https://github.com/viromedia/virocore/issues/55))\n* Fixed: ViroViewAR would rotate when re-entering AR ([Github Issue #40](https://github.com/viromedia/virocore/issues/40))\n* Fixed: Bloom caused entire AR Camera to brighten\n* Fixed: Fatal Exception: java.lang.IllegalArgumentException: millis < 0 ([Github Issue #56](https://github.com/viromedia/virocore/issues/56))\n\n## Upgrade instructions\nTo upgrade from ViroCore 1.5.0, you'll have to do the following:\n1. Download the new ViroCore AAR [here][9], and use it to replace your existing ViroCore AAR file.\n\n[1]:https://developer.viromedia.com/virocore/reference/com/viro/core/Polygon.html\n[2]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARPlaneAnchor.html#getVertices()\n[3]:https://developer.viromedia.com/virocore/reference/com/viro/core/FixedParticleEmitter.html\n[4]:https://developer.viromedia.com/virocore/reference/com/viro/core/Text.html#setFontFamilies(java.lang.String)\n[5]:https://developer.viromedia.com/virocore/reference/com/viro/core/Text.FontWeight.html\n[6]:https://developer.viromedia.com/virocore/reference/com/viro/core/Text.FontStyle.html\n[7]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.Listener.html#onTrackingUpdated(com.viro.core.ARScene.TrackingState,%20com.viro.core.ARScene.TrackingStateReason)\n[8]:https://developer.android.com/studio/build/configure-apk-splits.html\n[9]:https://s3-us-west-2.amazonaws.com/virocore/1_5_0/app-viro_core-release.aar\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Exoplayer\",\n  \"body\": \"You may need to manually upgrade your exoplayer version to 2.7.1\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"ABI Splitting\",\n  \"body\": \"Now that Viro supports multiple architectures, we highly recommend using [ABI splitting](https://virocore.viromedia.com/v1.5.0/docs/android-distribution#abi-splitting) to reduce your binary size!\"\n}\n[/block]\n<br>\n<br>\n[block:api-header]\n{\n  \"title\": \"ViroCore v1.4.1\"\n}\n[/block]\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">Minor release small updates and bug fixes.</td><td style=\"border:0px\">3/6/2018</td></tr></table>\n\n## New Features\n* API to [configure audio input][20] in ViroMediaRecorder.\n* API to [take a screenshot][21] direct to Bitmap in ViroMediaRecorder, improving performance.\n\n## Bug Fixes\n* Fixed: Gamma correction is handled in software if no sRGB framebuffer can be created.\n* Fixed: Shader compilation bug on older Adreno GPU's.\n\n## Updates\n* Updated Hello World and Sample Apps.\n\n## Upgrade instructions\nTo upgrade from ViroCore 1.4, you'll have to do the following:\n1. Download the new ViroCore AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_4_1/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file.\n\n<br>\n<br>\n\n[20]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroMediaRecorder.html\n[21]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroMediaRecorder.html#takeScreenShotAsync(com.viro.core.ViroMediaRecorder.ScreenshotFinishListener)\n[block:api-header]\n{\n  \"title\": \"ViroCore v1.4\"\n}\n[/block]\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">Minor release with support for ARCore 1.0, and bug fixes.</td><td style=\"border:0px\">2/27/2018</td></tr></table>\n\n## New Features\n* Support for ARCore 1.0\n* API to [trigger an install of ARCore][15] if ARCore is not present on the device\n* API to check if a user device is [capable of running ARCore][16]\n* API to [get the bounding box][17] of any Node (including Nodes with 3D models)\n* Added screen, multiply, and subtract [blend modes][18]\n\n## Bug Fixes\n* Fixed: JNI ERROR: local reference table overflow causes 3D Model crash\n* Fixed: Native crash with very large OBJ models\n* Fixed: Performance issues when using AR on Samsung Galaxy S7\n\n## Breaking API Changes\n\n* ViroViewARCore.isSupported() was renamed to ViroViewARCore.isDeviceCompatible()\n* The RendererStartListener (taken as constructor parameter to each ViroView) has been replaced with View-specific [StartupListener](https://developer.viromedia.com/virocore/reference/com/viro/core/ViroViewARCore.StartupListener.html) interfaces. Like the old RendererStartListener, the new StartupListeners receive a callback when initialization finishes. Additionally, StartupListeners receive a callback when View initialization fails, allowing you to respond in your application.\n* Field of view: For ViroSceneView, the default field of view has been reverted back to 90 degrees across the major axis (which is the Y axis in portrait mode, and the X axis in landscape mode). The field of view [can be set][19], so you can change this if desired.\n\n[15]:https://virocore.viromedia.com/v1.4.0/docs/augmented-reality-ar#device-support\n[16]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroViewARCore.html#isDeviceCompatible(android.content.Context)\n[17]:https://developer.viromedia.com/virocore/reference/com/viro/core/Node.html#getBoundingBox()\n[18]:https://developer.viromedia.com/virocore/reference/com/viro/core/Material.BlendMode.html\n[19]:https://developer.viromedia.com/virocore/reference/com/viro/core/Camera.html#setFieldOfView(float)\n\n## Upgrade instructions\nTo upgrade from ViroCore 1.3, you'll have to do the following:\n1. Download the new ViroCore AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_4_0/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file.\n\n2. Add  <meta-data android:name=\"com.google.ar.core\" android:value=\"optional\" /> to your AndroidManifest.xml within the application tag\n\n3. Make changes required under \"Breaking API Changes\" above. This likely means replacing ```RendererStartListener``` with the new ```StartupListener```.\n\n4. Change core-0.91 to core-1.0.0.aar in your arcore_client folder. Modify your arcore_client/build.gradle to point to the new file. You can download core-1.0.0.aar [here](https://s3-us-west-2.amazonaws.com/virocore/1_4_0/core-1.0.0.aar). \n<br>\n<br>\n\n[block:api-header]\n{\n  \"title\": \"ViroCore v1.3\"\n}\n[/block]\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">New release with some big new features!</td><td style=\"border:0px\">2/13/2018</td></tr></table>\n\n## New Features\n* Support for [Physically Based Rendering](doc:physically-based-rendering) (PBR)\n* New [metalness][1], [roughness][2], and [ambient occlusion][3] Material properties\n* [Image-based][4] diffuse and specular lighting\n* Lights can now be specified physically through [temperature][13] (Kelvins) and [intensity][12] (Lumens)\n* Textures and materials from loaded OBJ and FBX files can now be [dynamically changed][14]\n* Textures can now be [tiled over Surfaces][9]\n* [Screenshots][5] can be sent directly to an in-memory Bitmap\n* Exposed [projectPoint][6] and [unprojectPoint][7] methods on ViroView\n* API to [set the field of view][8] on the Camera\n* You can now [extract][11] raw point cloud data\n* New [renderer configurations][10] allow you to dynamically enable or disable shadows, HDR, Bloom, and PBR \n\n[1]:https://developer.viromedia.com/virocore/reference/com/viro/core/Material.html#setMetalnessMap(com.viro.core.Texture)\n[2]:https://developer.viromedia.com/virocore/reference/com/viro/core/Material.html#setRoughnessMap(com.viro.core.Texture)\n[3]:https://developer.viromedia.com/virocore/reference/com/viro/core/Material.html#setAmbientOcclusionMap(com.viro.core.Texture)\n[4]:https://virocore.viromedia.com/docs/physically-based-rendering#image-based-lighting\n[5]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroMediaRecorder.html\n[6]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroView.html#projectPoint(com.viro.core.Vector)\n[7]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroView.html#unprojectPoint(com.viro.core.Vector)\n[8]:https://developer.viromedia.com/virocore/reference/com/viro/core/Camera.html#setFieldOfView(float)\n[9]:https://developer.viromedia.com/virocore/reference/com/viro/core/Surface.html\n[10]:https://developer.viromedia.com/virocore/reference/com/viro/core/RendererConfiguration.html\n[11]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.html#setPointCloudUpdateListener(com.viro.core.PointCloudUpdateListener)\n[12]:https://developer.viromedia.com/virocore/reference/com/viro/core/Light.html#setIntensity(float)\n[13]:https://developer.viromedia.com/virocore/reference/com/viro/core/Light.html#setTemperature(float)\n[14]:https://developer.viromedia.com/virocore/reference/com/viro/core/Object3D.html#getMaterials()\n\n## Bug Fixes\n* Fixed: Framerate drop in AR scene with large 3D models.\n* Fixed: Weak global reference crash if device was idle for extended time\n* Fixed: Black screen on Mail-T720 GPU devices (i.e. A5 2016)\n* Fixed: Crash on invalid URIs\n* Fixed: various FBX keyframe and skeletal animation bugs\n\n## Breaking API Changes\n* Spotlight: the inner angle and outer angle of spotlights have changed! Now the inner angle represents the angle from edge to edge of the fully lit cone, and the outer angle represents the angle from edge to edge of the attenuated cone.\n\n* Field of view: For ViroSceneView, the default field of view is now 60 degrees across the major axis (which is the Y axis in portrait mode, and the X axis in landscape mode). The field of view can now be set, so you can change this if desired.\n\n* ViroMediaRecorder: The name of the listeners and the signatures of the listener methods have slightly changed to accommodate saving screenshots to Bitmaps. See the [Javadoc](https://developer.viromedia.com/virocore/reference/com/viro/core/ViroMediaRecorder.html) for details.\n\n## Upgrade instructions\nIf upgrading from ViroCore 1.1, first follow the instructions for ViroCore 1.2, then follow the instruction below.\n\nIf upgrading from ViroCore 1.2, simply download the new ViroCore AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_3_0/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file.\n<br>\n<br>\n[block:api-header]\n{\n  \"title\": \"ViroCore v1.2\"\n}\n[/block]\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">New release with a host of new features.</td><td style=\"border:0px\">1/17/2018</td></tr></table>\n\n## New Features\n* Support for ARCore Preview 2.\n* Added setCameraARHitTestListener to ViroViewARCore.\n* Enabled transparent backgrounds for ViroViewScene.\n* Enabled events for ViroSceneRenderer.\n\n## Upgrade instructions\n1. To use the latest ViroCore, download the new ViroCore AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_2_0/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file.\n\n2. Replace the build.gradle file in your arcore_client directory of your project with this [build.gradle](https://s3-us-west-2.amazonaws.com/virocore/1_2_0/build.gradle).\n\n3. Add [core-0.91.0.aar](https://s3-us-west-2.amazonaws.com/virocore/1_2_0/core-0.91.0.aar) to your arcore_client directory.\n\n4. Due to ARCore Preview 2 changes, you'll also need to download our new GVR library [here](https://s3-us-west-2.amazonaws.com/virocore/1_2_0/sdk-common-1.101.0.aar), and replace your existing GVR SDK AAR (this should be in your project's gvr_common directory).\n\n5. **Do this step only if you are developing for ARCore**. Install Google's ARCore Preview 2 client on your device. Instructions from Google are [here](https://developers.google.com/ar/develop/java/getting-started) under 'Prepare your device'.\n\n6. Finally, add the following line to your app's build.gradle under defaultConfig in the android section:\n```\nndk {\n           abiFilters \"armeabi-v7a\", \"x86\", \"armeabi\", \"mips\"\n       }\n```\nYour new project should be good to go!\n<br>\n<br>\n[block:api-header]\n{\n  \"title\": \"ViroCore v1.1\"\n}\n[/block]\n<table style=\"border:0px\"><tr style=\"border:0px\"><td style=\"border:0px\">New release with size reduction, a handful of new features, and some bug fixes! </td><td style=\"border:0px\">12/19/2017</td></tr></table>\n\n## Updates\n\nThe ViroCore AAR file is now just 4.2 MB. \n\nVR underlying platform SDKs have been updated:\n* Updated Google VR (Android) to version 1.101\n* Updated Google VR (iOS) to version 1.100\n* Updated Oculus VR Mobile SDK to 1.9.0\n\n## New features\n* Add AR shadows: virtual shadows on real-world planes via the new [ShadowMode](https://developer.viromedia.com/virocore/reference/com/viro/core/Material.ShadowMode.html) Material property\n* New [CameraListener](https://developer.viromedia.com/virocore/reference/com/viro/core/CameraListener.html) for responding to camera movement\n* Linear rendering (sRGB) support on Oculus VR, for more realistic shading and lighting\n* AnimationTransaction animations can now be looped\n\nFixed bugs:\n\n* Fixed bug with reticle scaling\n* Print out native exceptions to console\n* Fix issue with collision normals in physics system\n* Fix freezing issue when loading FBX models on Oculus VR\n\nAnd of course, numerous performance improvements.\n\n## Upgrade instructions\nTo use the latest ViroCore, download the new AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_1_0/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file.\n\nIf you are using GVR, you will also have to update your GVR SDK. To do this:\n\n1. Download the 1.101 GVR SDK AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_1_0/sdk-common-1.101.0.aar), and replace your existing GVR SDK AAR (this should be in your project's gvr_common directory).\n\n2. Open your project's GVR gradle file and set it to point to this new AAR file, as follows:\n```\nconfigurations.create(\"default\")\nartifacts.add(\"default\", file('sdk-common-1.101.0.aar'))\n```","excerpt":"","slug":"releases","type":"basic","title":"Releases"}
<span style="font-size:25px;font-weight:700"><a href="https://s3-us-west-2.amazonaws.com/virocore/1_8_2/virocore-release-v_1_8_2.aar">ViroCore v1.8.2</a></span> <span style="margin-left:20px;margin-bottom:10px;line-height:6px;height:26px;border:1px solid; border-radius:2px; border-color:#2cbe4e; color:#2cbe4e; display:inline-block;padding-top:3px;padding-bottom:3px;padding-left:4px;padding-right:4px;"> <span style="padding-bottom:5px">Latest release</span> </span> <table style="border:0px"><tr style="border:0px"><td style="border:0px">Bug fixes related to animation and model loading.</td><td style="border:0px">7/17/2018</td></tr></table> ## Downloads __[virocore-release-v_1_8_2.aar][1] __ ## Bug Fixes * Fixed ref overflow crash related to 3d models. * Fixed animation bug where animations were not starting and stopping properly. ## Upgrade instructions To upgrade from ViroCore 1.7.0 or later: 1. Download the new ViroCore AAR [here][1], and use it to replace your existing ViroCore AAR file. Modify your `viro_core/build.gradle` to point to the new file. If you are upgrading from ViroCore 1.6 or earlier, you'll also have to: 1. Update to ARCore 1.2.0 by downloading the file [here][2]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file. 2. If you are using VR, upgrade to the newer GVR library [here][3]. Place the new file in the `gvr_common` directory and modify your `gvr_common/build.gradle` to point to the file. [1]:https://s3-us-west-2.amazonaws.com/virocore/1_8_2/virocore-release-v_1_8_2.aar [2]:https://s3-us-west-2.amazonaws.com/virocore/1_8_2/core-1.2.0.aar [3]:https://s3-us-west-2.amazonaws.com/virocore/1_8_2/sdk-common-1.130.0.aar [4]:https://developer.viromedia.com/virocore/reference/com/viro/core/FrameListener.html [5]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARPlaneAnchor.Alignment.html <br> [block:api-header] {} [/block] <span style="font-size:25px;font-weight:700"><a href="https://s3-us-west-2.amazonaws.com/virocore/1_8_0/virocore-release-v_1_8_0.aar">ViroCore v1.8.0</a></span> <table style="border:0px"><tr style="border:0px"><td style="border:0px">GLTF skeletal animation, rendering improvements, and bug fixes!</td><td style="border:0px">7/2/2018</td></tr></table> ## Downloads __[virocore-release-v_1_8_0.aar][1] __ ## New Features and Improvements * GLTF skeletal animation support! * [FrameListener][4] for receiving per-frame callbacks * Sharper text rendering * Performance improvements and reduced frame skips when loading models * Added support for child node manipulation within 3D Models. ## Bug Fixes * Corrected issues with changing chroma key filtering color * Fixed issue where onAnchorFound reported the wrong initial value * Fixed bug where camera did not always inherit from parent nodes ## Breaking API Changes * ARPlaneAnchor.Alignment.NON_HORIZONTAL was renamed to [VERTICAL][5] ## Upgrade instructions To upgrade from ViroCore 1.7.0 or later: 1. Download the new ViroCore AAR [here][1], and use it to replace your existing ViroCore AAR file. Modify your `viro_core/build.gradle` to point to the new file. If you are upgrading from ViroCore 1.6 or earlier, you'll also have to: 1. Update to ARCore 1.2.0 by downloading the file [here][2]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file. 2. If you are using VR, upgrade to the newer GVR library [here][3]. Place the new file in the `gvr_common` directory and modify your `gvr_common/build.gradle` to point to the file. [1]:https://s3-us-west-2.amazonaws.com/virocore/1_8_0/virocore-release-v_1_8_0.aar [2]:https://s3-us-west-2.amazonaws.com/virocore/1_8_0/core-1.2.0.aar [3]:https://s3-us-west-2.amazonaws.com/virocore/1_8_0/sdk-common-1.130.0.aar [4]:https://developer.viromedia.com/virocore/reference/com/viro/core/FrameListener.html [5]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARPlaneAnchor.Alignment.html <br> [block:api-header] {} [/block] <span style="font-size:25px;font-weight:700"><a href="https://s3-us-west-2.amazonaws.com/virocore/1_7_2/virocore-release-v_1_7_2.aar">ViroCore v1.7.2</a></span> <table style="border:0px"><tr style="border:0px"><td style="border:0px">Fixed minor bugs from 1.7.2</td><td style="border:0px">6/4/2018</td></tr></table> ## Downloads __[virocore-release-v_1_7_2.aar][1] __ ## Bug Fixes * Fixed transparent shadow planes being visible due to tone mapping ## Upgrade instructions To upgrade from ViroCore 1.7.0, you'll have to do the following: 1. Download the new ViroCore AAR [here][1], and use it to replace your existing ViroCore AAR file. Modify your `viro_core/build.gradle` to point to the new file. If you are upgrading from ViroCore 1.6 or earlier, you'll also have to: 1. Update to ARCore 1.2.0 by downloading the file [here][2]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file. 2. If you are using VR, upgrade to the newer GVR library [here][3]. Place the new file in the `gvr_common` directory and modify your `gvr_common/build.gradle` to point to the file. [1]:https://s3-us-west-2.amazonaws.com/virocore/1_7_2/virocore-release-v_1_7_2.aar [2]:https://s3-us-west-2.amazonaws.com/virocore/1_7_2/core-1.2.0.aar [3]:https://s3-us-west-2.amazonaws.com/virocore/1_7_2/sdk-common-1.130.0.aar <br> [block:api-header] {} [/block] <span style="font-size:25px;font-weight:700"><a href="https://s3-us-west-2.amazonaws.com/virocore/1_7_0/app-viro_core-release.aar">ViroCore v1.7.0</a></span> <table style="border:0px"><tr style="border:0px"><td style="border:0px">GLTF, ARCore 1.2, Cloud Anchors, Vertical Planes, Alpha Video, and Fewer Bugs!</td><td style="border:0px">5/24/2018</td></tr></table> ## Downloads __[virocore-release-v_1_7_0.aar][4] __ ## New Features (from 1.6 to 1.7) * __GLTF Model Loading__ * Support for loading [GLTF models](doc:3d-objects#section-gltf) in GLTF and GLB formats. * __ARCore 1.2 support__ * Improved image detection * Detect vertical planes * Much [wider range][1] of supported devices * __Cloud Anchors and Manual Anchors__ * [Share ARNodes](doc:ar-cloud) with other users for multiplayer and collaborative experiences * Attach anchors manually to hit results and world locations * __Alpha Video__ * [Chroma-key filtering](doc:video#alpha-video-chroma-key-filtering) enables [hologram][2] videos in AR * __And More__ * [Fixed to Plane dragging](doc:ar-interaction#fixed-to-plane-dragging): drag nodes across fixed, user-specified planes * Retrieve the estimated light [color][6] and [intensity][7] from the ARScene * HDR tone-mapping is now performed only on HDR-lit areas of the scene, providing better camera fidelity * Text has been sharpened ## Bug Fixes * The model loaded callback is not invoked until *all* textures are loaded * Node position, rotation, and scale are immediately available when set * Video recorder no longer fails on second recording * Raw solid material colors are now linearized correctly * Texture builders properly propagate all settings * Mali GPU over-saturation has been fixed * Physics quads no longer fall through the floor ## Breaking API Changes * [ARScene.Listener onAmbientLightUpdate(float, Vector)][5] now takes an RGB color vector as input instead of a color temperature. * Object3D [loadModel()][8] requires the ViroContext (which you can get from any ViroView instance). ## Upgrade instructions To upgrade from ViroCore 1.6.0, you'll have to do the following: 1. Download the new ViroCore AAR [here][4], and use it to replace your existing ViroCore AAR file. Modify your `viro_core/build.gradle` to point to the new file. 2. Update to ARCore 1.2.0 by downloading the file [here][3]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file. 3. If you are using VR, upgrade to the newer GVR library [here][9]. Place the new file in the `gvr_common` directory and modify your `gvr_common/build.gradle` to point to the file. [1]:https://developers.google.com/ar/discover/supported-devices [2]:https://www.youtube.com/watch?v=68-bjoF1Vdk [3]:https://s3-us-west-2.amazonaws.com/virocore/1_7_0/core-1.2.0.aar [4]:https://s3-us-west-2.amazonaws.com/virocore/1_7_0/virocore-release-v_1_7_0.aar [5]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.Listener.html#onAmbientLightUpdate(float,%20com.viro.core.Vector) [6]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.html#getEstimatedAmbientLightColor() [7]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.html#getEstimatedAmbientLightIntensity() [8]:https://developer.viromedia.com/virocore/reference/com/viro/core/Object3D.html#loadModel(com.viro.core.ViroContext,%20android.net.Uri,%20com.viro.core.Object3D.Type,%20com.viro.core.AsyncObject3DListener) [9]:https://s3-us-west-2.amazonaws.com/virocore/1_7_0/sdk-common-1.130.0.aar <br> [block:api-header] {} [/block] <span style="font-size:25px;font-weight:700"><a href="https://s3-us-west-2.amazonaws.com/virocore/1_6_0/app-viro_core-release.aar">ViroCore v1.6.0</a></span> <table style="border:0px"><tr style="border:0px"><td style="border:0px">Image detection in AR and more bug fixes.</td><td style="border:0px">4/19/2018</td></tr></table> ## Downloads __[viro_core-release.aar][13] __ ## New Features * __Image recognition__ * Support for Image Recognition in AR. Detect [image targets][10] with image recognition. Developers can find and recognize the position of markers and images in the real-world and respond to them in their apps. * __ARCore 1.1 support__ ## Bug Fixes * Fixed: Controller events are not called back ([Github Issue #74](https://github.com/viromedia/virocore/issues/74)) * Fixed: Z-fighting issues for text at long distances * Fixed: Shadow planes in AR were appearing grey * Fixed: FBX animation memory leaks * Fixed: Assets with spaces now work correctly ## Upgrade instructions To upgrade from ViroCore 1.5.0, you'll have to do the following: 1. Download the new ViroCore AAR [here][13], and use it to replace your existing ViroCore AAR file. 2. Update to ARCore 1.1.0 by downloading the file [here][12]. Place the new file in the `arcore_client` directory and modify your `arcore_client/build.gradle` to point to the new file. [10]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARImageTarget.html [12]:https://s3-us-west-2.amazonaws.com/virocore/1_6_0/core-1.1.0.aar [13]:https://s3-us-west-2.amazonaws.com/virocore/1_6_0/app-viro_core-release.aar [block:api-header] { "title": "ViroCore v1.5.0" } [/block] <table style="border:0px"><tr style="border:0px"><td style="border:0px">Major release with a host of features requested by our customers, and bug fixes.</td><td style="border:0px">3/29/2018</td></tr></table> ## Downloads __[viro_core-release.aar][9] __ ## New Features * __New Trackable States for ARCore / ARKit__ * Be informed when AR tracking improves or degrades through [ARScene.Listener.onTrackingUpdated()][7] <br> * __Improved Text and Fonts__ * Internationalization: support for Chinese, Japanese, and Korean characters * Render mixed-language text by specifying a list of [font families][4] * Support for more system fonts on Android, including system font groups ('monospace', 'cursive', etc.) * Improved font specification: choose [font weight][5] (100 to 900) and [font style][6] (italic) <br> * __Improved Packaging__ * Reduced SDK requirement for VR to API Level 19 (equivalent to Cardboard) * ```x86_64``` architecture support on iOS * Enables the iOS simulator (this uses software emulated OpenGL, so it's slow!) * ```arm64-v8a``` architecture support on Android * We recommend using [Android ABI splitting][8] to reduce binary size for your customers <br> * __And More!__ * [Polygonal planes][1]: render non-rectangular planes [detected][2] by ARKit and ARCore * Point cloud rendering: render point clouds using the new [fixed particle emitter][3] * Windowed (non-full) screen mode for AR view and 360 view * Exoplayer updated to version 2.7.1 ## Bug Fixes * Fixed: Colors were dark when recording video ([Github Issue #44](https://github.com/viromedia/virocore/issues/44)) * Fixed: Assets could not be placed in sub-folders * Fixed: FBX bounding box returned incorrect values ([Github Issue #55](https://github.com/viromedia/virocore/issues/55)) * Fixed: ViroViewAR would rotate when re-entering AR ([Github Issue #40](https://github.com/viromedia/virocore/issues/40)) * Fixed: Bloom caused entire AR Camera to brighten * Fixed: Fatal Exception: java.lang.IllegalArgumentException: millis < 0 ([Github Issue #56](https://github.com/viromedia/virocore/issues/56)) ## Upgrade instructions To upgrade from ViroCore 1.5.0, you'll have to do the following: 1. Download the new ViroCore AAR [here][9], and use it to replace your existing ViroCore AAR file. [1]:https://developer.viromedia.com/virocore/reference/com/viro/core/Polygon.html [2]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARPlaneAnchor.html#getVertices() [3]:https://developer.viromedia.com/virocore/reference/com/viro/core/FixedParticleEmitter.html [4]:https://developer.viromedia.com/virocore/reference/com/viro/core/Text.html#setFontFamilies(java.lang.String) [5]:https://developer.viromedia.com/virocore/reference/com/viro/core/Text.FontWeight.html [6]:https://developer.viromedia.com/virocore/reference/com/viro/core/Text.FontStyle.html [7]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.Listener.html#onTrackingUpdated(com.viro.core.ARScene.TrackingState,%20com.viro.core.ARScene.TrackingStateReason) [8]:https://developer.android.com/studio/build/configure-apk-splits.html [9]:https://s3-us-west-2.amazonaws.com/virocore/1_5_0/app-viro_core-release.aar [block:callout] { "type": "info", "title": "Exoplayer", "body": "You may need to manually upgrade your exoplayer version to 2.7.1" } [/block] [block:callout] { "type": "info", "title": "ABI Splitting", "body": "Now that Viro supports multiple architectures, we highly recommend using [ABI splitting](https://virocore.viromedia.com/v1.5.0/docs/android-distribution#abi-splitting) to reduce your binary size!" } [/block] <br> <br> [block:api-header] { "title": "ViroCore v1.4.1" } [/block] <table style="border:0px"><tr style="border:0px"><td style="border:0px">Minor release small updates and bug fixes.</td><td style="border:0px">3/6/2018</td></tr></table> ## New Features * API to [configure audio input][20] in ViroMediaRecorder. * API to [take a screenshot][21] direct to Bitmap in ViroMediaRecorder, improving performance. ## Bug Fixes * Fixed: Gamma correction is handled in software if no sRGB framebuffer can be created. * Fixed: Shader compilation bug on older Adreno GPU's. ## Updates * Updated Hello World and Sample Apps. ## Upgrade instructions To upgrade from ViroCore 1.4, you'll have to do the following: 1. Download the new ViroCore AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_4_1/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file. <br> <br> [20]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroMediaRecorder.html [21]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroMediaRecorder.html#takeScreenShotAsync(com.viro.core.ViroMediaRecorder.ScreenshotFinishListener) [block:api-header] { "title": "ViroCore v1.4" } [/block] <table style="border:0px"><tr style="border:0px"><td style="border:0px">Minor release with support for ARCore 1.0, and bug fixes.</td><td style="border:0px">2/27/2018</td></tr></table> ## New Features * Support for ARCore 1.0 * API to [trigger an install of ARCore][15] if ARCore is not present on the device * API to check if a user device is [capable of running ARCore][16] * API to [get the bounding box][17] of any Node (including Nodes with 3D models) * Added screen, multiply, and subtract [blend modes][18] ## Bug Fixes * Fixed: JNI ERROR: local reference table overflow causes 3D Model crash * Fixed: Native crash with very large OBJ models * Fixed: Performance issues when using AR on Samsung Galaxy S7 ## Breaking API Changes * ViroViewARCore.isSupported() was renamed to ViroViewARCore.isDeviceCompatible() * The RendererStartListener (taken as constructor parameter to each ViroView) has been replaced with View-specific [StartupListener](https://developer.viromedia.com/virocore/reference/com/viro/core/ViroViewARCore.StartupListener.html) interfaces. Like the old RendererStartListener, the new StartupListeners receive a callback when initialization finishes. Additionally, StartupListeners receive a callback when View initialization fails, allowing you to respond in your application. * Field of view: For ViroSceneView, the default field of view has been reverted back to 90 degrees across the major axis (which is the Y axis in portrait mode, and the X axis in landscape mode). The field of view [can be set][19], so you can change this if desired. [15]:https://virocore.viromedia.com/v1.4.0/docs/augmented-reality-ar#device-support [16]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroViewARCore.html#isDeviceCompatible(android.content.Context) [17]:https://developer.viromedia.com/virocore/reference/com/viro/core/Node.html#getBoundingBox() [18]:https://developer.viromedia.com/virocore/reference/com/viro/core/Material.BlendMode.html [19]:https://developer.viromedia.com/virocore/reference/com/viro/core/Camera.html#setFieldOfView(float) ## Upgrade instructions To upgrade from ViroCore 1.3, you'll have to do the following: 1. Download the new ViroCore AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_4_0/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file. 2. Add <meta-data android:name="com.google.ar.core" android:value="optional" /> to your AndroidManifest.xml within the application tag 3. Make changes required under "Breaking API Changes" above. This likely means replacing ```RendererStartListener``` with the new ```StartupListener```. 4. Change core-0.91 to core-1.0.0.aar in your arcore_client folder. Modify your arcore_client/build.gradle to point to the new file. You can download core-1.0.0.aar [here](https://s3-us-west-2.amazonaws.com/virocore/1_4_0/core-1.0.0.aar). <br> <br> [block:api-header] { "title": "ViroCore v1.3" } [/block] <table style="border:0px"><tr style="border:0px"><td style="border:0px">New release with some big new features!</td><td style="border:0px">2/13/2018</td></tr></table> ## New Features * Support for [Physically Based Rendering](doc:physically-based-rendering) (PBR) * New [metalness][1], [roughness][2], and [ambient occlusion][3] Material properties * [Image-based][4] diffuse and specular lighting * Lights can now be specified physically through [temperature][13] (Kelvins) and [intensity][12] (Lumens) * Textures and materials from loaded OBJ and FBX files can now be [dynamically changed][14] * Textures can now be [tiled over Surfaces][9] * [Screenshots][5] can be sent directly to an in-memory Bitmap * Exposed [projectPoint][6] and [unprojectPoint][7] methods on ViroView * API to [set the field of view][8] on the Camera * You can now [extract][11] raw point cloud data * New [renderer configurations][10] allow you to dynamically enable or disable shadows, HDR, Bloom, and PBR [1]:https://developer.viromedia.com/virocore/reference/com/viro/core/Material.html#setMetalnessMap(com.viro.core.Texture) [2]:https://developer.viromedia.com/virocore/reference/com/viro/core/Material.html#setRoughnessMap(com.viro.core.Texture) [3]:https://developer.viromedia.com/virocore/reference/com/viro/core/Material.html#setAmbientOcclusionMap(com.viro.core.Texture) [4]:https://virocore.viromedia.com/docs/physically-based-rendering#image-based-lighting [5]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroMediaRecorder.html [6]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroView.html#projectPoint(com.viro.core.Vector) [7]:https://developer.viromedia.com/virocore/reference/com/viro/core/ViroView.html#unprojectPoint(com.viro.core.Vector) [8]:https://developer.viromedia.com/virocore/reference/com/viro/core/Camera.html#setFieldOfView(float) [9]:https://developer.viromedia.com/virocore/reference/com/viro/core/Surface.html [10]:https://developer.viromedia.com/virocore/reference/com/viro/core/RendererConfiguration.html [11]:https://developer.viromedia.com/virocore/reference/com/viro/core/ARScene.html#setPointCloudUpdateListener(com.viro.core.PointCloudUpdateListener) [12]:https://developer.viromedia.com/virocore/reference/com/viro/core/Light.html#setIntensity(float) [13]:https://developer.viromedia.com/virocore/reference/com/viro/core/Light.html#setTemperature(float) [14]:https://developer.viromedia.com/virocore/reference/com/viro/core/Object3D.html#getMaterials() ## Bug Fixes * Fixed: Framerate drop in AR scene with large 3D models. * Fixed: Weak global reference crash if device was idle for extended time * Fixed: Black screen on Mail-T720 GPU devices (i.e. A5 2016) * Fixed: Crash on invalid URIs * Fixed: various FBX keyframe and skeletal animation bugs ## Breaking API Changes * Spotlight: the inner angle and outer angle of spotlights have changed! Now the inner angle represents the angle from edge to edge of the fully lit cone, and the outer angle represents the angle from edge to edge of the attenuated cone. * Field of view: For ViroSceneView, the default field of view is now 60 degrees across the major axis (which is the Y axis in portrait mode, and the X axis in landscape mode). The field of view can now be set, so you can change this if desired. * ViroMediaRecorder: The name of the listeners and the signatures of the listener methods have slightly changed to accommodate saving screenshots to Bitmaps. See the [Javadoc](https://developer.viromedia.com/virocore/reference/com/viro/core/ViroMediaRecorder.html) for details. ## Upgrade instructions If upgrading from ViroCore 1.1, first follow the instructions for ViroCore 1.2, then follow the instruction below. If upgrading from ViroCore 1.2, simply download the new ViroCore AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_3_0/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file. <br> <br> [block:api-header] { "title": "ViroCore v1.2" } [/block] <table style="border:0px"><tr style="border:0px"><td style="border:0px">New release with a host of new features.</td><td style="border:0px">1/17/2018</td></tr></table> ## New Features * Support for ARCore Preview 2. * Added setCameraARHitTestListener to ViroViewARCore. * Enabled transparent backgrounds for ViroViewScene. * Enabled events for ViroSceneRenderer. ## Upgrade instructions 1. To use the latest ViroCore, download the new ViroCore AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_2_0/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file. 2. Replace the build.gradle file in your arcore_client directory of your project with this [build.gradle](https://s3-us-west-2.amazonaws.com/virocore/1_2_0/build.gradle). 3. Add [core-0.91.0.aar](https://s3-us-west-2.amazonaws.com/virocore/1_2_0/core-0.91.0.aar) to your arcore_client directory. 4. Due to ARCore Preview 2 changes, you'll also need to download our new GVR library [here](https://s3-us-west-2.amazonaws.com/virocore/1_2_0/sdk-common-1.101.0.aar), and replace your existing GVR SDK AAR (this should be in your project's gvr_common directory). 5. **Do this step only if you are developing for ARCore**. Install Google's ARCore Preview 2 client on your device. Instructions from Google are [here](https://developers.google.com/ar/develop/java/getting-started) under 'Prepare your device'. 6. Finally, add the following line to your app's build.gradle under defaultConfig in the android section: ``` ndk { abiFilters "armeabi-v7a", "x86", "armeabi", "mips" } ``` Your new project should be good to go! <br> <br> [block:api-header] { "title": "ViroCore v1.1" } [/block] <table style="border:0px"><tr style="border:0px"><td style="border:0px">New release with size reduction, a handful of new features, and some bug fixes! </td><td style="border:0px">12/19/2017</td></tr></table> ## Updates The ViroCore AAR file is now just 4.2 MB. VR underlying platform SDKs have been updated: * Updated Google VR (Android) to version 1.101 * Updated Google VR (iOS) to version 1.100 * Updated Oculus VR Mobile SDK to 1.9.0 ## New features * Add AR shadows: virtual shadows on real-world planes via the new [ShadowMode](https://developer.viromedia.com/virocore/reference/com/viro/core/Material.ShadowMode.html) Material property * New [CameraListener](https://developer.viromedia.com/virocore/reference/com/viro/core/CameraListener.html) for responding to camera movement * Linear rendering (sRGB) support on Oculus VR, for more realistic shading and lighting * AnimationTransaction animations can now be looped Fixed bugs: * Fixed bug with reticle scaling * Print out native exceptions to console * Fix issue with collision normals in physics system * Fix freezing issue when loading FBX models on Oculus VR And of course, numerous performance improvements. ## Upgrade instructions To use the latest ViroCore, download the new AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_1_0/app-viro_core-release.aar), and use it to replace your existing ViroCore AAR file. If you are using GVR, you will also have to update your GVR SDK. To do this: 1. Download the 1.101 GVR SDK AAR [here](https://s3-us-west-2.amazonaws.com/virocore/1_1_0/sdk-common-1.101.0.aar), and replace your existing GVR SDK AAR (this should be in your project's gvr_common directory). 2. Open your project's GVR gradle file and set it to point to this new AAR file, as follows: ``` configurations.create("default") artifacts.add("default", file('sdk-common-1.101.0.aar')) ```