Jan 2
Janus VR - Aussie
Faster performance, updated pocketspace, .js improvements and glTF 2.0 support!

New features:
  • Improved performance of rendering engine by refactoring out expensive ref counted pointers from the most used code path (upto 25% FPS increase depending on the room).

  • Updated pocketspace with new design and bookmarks, including a new portal to our free hosting service, Vesta.

  • Ctrl+V will paste any clipboard contents (e.g. press printscreen to capture desktop and paste directly into Janus with Ctrl+V).

  • Fine-grained controller access via JS! You can now read the current state of the buttons of controllers (Vive, touch, Windows mixed reality (wmxr), Xbox) with JS - visit https://nazrin.net/Button/ for examples.

  • room.loadNewAsset can now be used to create generative geometry, by being passed vertex and face lists as arrays.

  • room.removeObject JS function now accepts optional second sync paramter, syncing of removed Objects now works.

  • Assimp library updated to 4.1.0, this includes bug fixes for various model loading formats, and adds support for loading glTF 2.0 files.

  • Improved visuals by modifying how radiance and irradiance maps are used for geometry shading.

  • Better support for 302 redirects.

  • Better computation of hand/controller velocity.

  • Websurfaces reloading when moving through portals/between rooms.

  • Backspace/back taking player to empty room with skybox.

  • Resolution of relative URLs.

  • Enable VR comfort mode as default setting.

  • Suppress copy-pasting in rooms when room's locked property is set to true.

  • Linking to head_id and body_id for Ghosts.

  • Party mode setting adjusted to show user in global list, but hide URL.

  • Rendering draw order for portals and alpha-blended objects.

  • Prevent error log in code panel from slowing down the UI when filling up.

  • Removed old JS debugger window in favor of integrating JS debug and other error output into the code panel.

  • Restored -equi and -cube render modes.

  • Restored #sync operation.

  • Numerous small crash bugfixes.
Oct 25, 2017
Janus VR - Aussie
Improved VR controller support, better stability, higher FPS

  • Re-architected rendering to happen in a separate thread. Should yield large improvements in framerate and general smoothness (in both VR and non-VR rendering modes). In most cases users will see a doubling of FPS.

  • Assimp updated to latest development version (improved glTF support, many other changes)

  • Improvements to animations and bone processing

  • Updated Oculus SDK to v1.19

  • Performance improvements to UI panels

  • General shader optimizations

  • Smoother particle emissions

  • Ghost and userid bugfixes

  • Refactored VR UI controls for simplicity (a return to an older control scheme that worked well)

  • Backend improvements to portal system and navigation

  • Faster loading of client

  • Improvements to rendering performance in equi rendering modes

  • New room attribute "grab_dist" allows specification of maximum distance at which objects can be grabbed/manipulated with VR controllers

  • Improvements/bugfixes for XML/JML parsing and case sensitivity

  • URL anchor support, e.g.:


    where "anchor" is the jsid of an Object in the Room with its own transform that determines where the portal will open up.

  • Added FOV slider to Settings > Interface (of use in 2D/windowed and other render modes that are not tied to HMD FOV intrinsics)

  • Added support for XMLHttpRequest in Javascript scripts, and now both "post" and "get" methods

  • Refactor - removed "Image3D" from JML spec

  • Bugfix for room.playVideo

  • Additional room functions room.playRecording / room.seekRecording / room.pauseRecording / room.stopRecord
Aug 2, 2017
Janus VR - Aussie
The changes in v59 represent a few months of work (the longest time between releases yet!) The most notable change in v59 is a UI rewrite.

In this update, we broadly consider two major use cases: (1) a “user in VR”, potentially a novice, who expects basic functionality for navigation and interaction and (2) a “builder outside VR”, a creative person looking to create immersive web experiences using Janus who expects a user experience similar to traditional graphics software (e.g. Maya/3DSMax/Blender/Unity/Unreal).

In the version 59 update, we take some major steps for addressing these two fundamental use cases. And there are also a pile of other specific features and additions we've made, many of which are major-release worthy on their own!

More documentation to come, describing all the new functionality in more detail (we are also doing a lot of updates to the site to add new documentation and keep things current).

Major highlights:
  • New GUI!
  • Social pane
  • Navigation pane
  • Code editor pane
  • Assets pane
  • Room object pane
  • Properties pane
  • New settings window
  • Easy/intuitive access to common operations via Ellipsis "..." menu (Save and save screenshots, Settings, Bookmarks/Workspaces, etc.)
  • “AssetRecording” Asset type (room-wide recordings are now possible - and drag and droppable even!)
  • “rotation” and “rotation_order” attributes (Eulerian rotation support, this has been asked for forever!)
  • JML Importer (import entire Janus environments into a space)
  • New and improved Drag and Drop functionality (from browsers or explorer, portals, …)
  • Improvements to Ghost userid/chat
  • Private websurface manager (~ [tilde] to add, shift+~ to remove, ESC to hide)
  • VR controls simplification
  • FPS improvement for “equi” render mode
  • New JS Vector functions (copy, scale, add)
  • OSVR integration
  • Initial Enflux integration
  • “party_mode” room attribute (can declare in the room markup whether it should be a "private" space or not - we use this attribute for some of our own meeting rooms)
Apr 30, 2017
Janus VR - Aussie

Big thank you to all the users who sent in bug reports, dropped by the Discord for a chat or sent us feature suggestions - we appreciate it a lot and have included as many changes as we could in this update, more improvements to come, we have only just begun.


A fantastic library that abstracts so many geometric formats, providing us a generic intermediate data structure. We hugely broaden our geometric format support to a much wider variety of formats! (And like us, they too could have picked a better name. They are German though and apologise for the name for this reason - all of us at Janus speak English and have no excuse!)
We now support glTF 1.0 through this lib, and are looking forward to (and would be happy to contribute to) 2.0 support! Geometry transmission standards for the web - YES!

COMMON INTERCHANGE FORMATS Autodesk ( .fbx ) Collada ( .dae ) glTF ( .gltf, .glb ) Blender 3D ( .blend ) 3ds Max 3DS ( .3ds ) 3ds Max ASE ( .ase ) Wavefront Object ( .obj ) Industry Foundation Classes (IFC/Step) ( .ifc ) XGL ( .xgl,.zgl ) Stanford Polygon Library ( .ply ) AutoCAD DXF ( .dxf ) LightWave ( .lwo ) LightWave Scene ( .lws ) Modo ( .lxo ) Stereolithography ( .stl ) DirectX X ( .x ) AC3D ( .ac ) Milkshape 3D ( .ms3d ) * TrueSpace ( .cob,.scn ) MOTION CAPTURE FORMATS Biovision BVH ( .bvh ) * CharacterStudio Motion ( .csm ) GRAPHICS ENGINE FORMATS Ogre XML ( .xml ) Irrlicht Mesh ( .irrmesh ) * Irrlicht Scene ( .irr ) GAME FILE FORMATS Quake I ( .mdl ) Quake II ( .md2 ) Quake III Mesh ( .md3 ) Quake III Map/BSP ( .pk3 ) * Return to Castle Wolfenstein ( .mdc ) Doom 3 ( .md5 ) *Valve Model ( .smd,.vta ) *Open Game Engine Exchange ( .ogex ) *Unreal ( .3d ) OTHER FILE FORMATS BlitzBasic 3D ( .b3d ) Quick3D ( .q3d,.q3s ) Neutral File Format ( .nff ) Sense8 WorldToolKit ( .nff ) Object File Format ( .off ) PovRAY Raw ( .raw ) Terragen Terrain ( .ter ) 3D GameStudio (3DGS) ( .mdl ) 3D GameStudio (3DGS) Terrain ( .hmp ) Izware Nendo ( .ndo )

Including skeletal animation support for applicable formats. Assimp animation support improvements loading FBX files

Keeping with the social VR times, we acknowledge not everyone wants to press a key or commit to a gesture to speak. In release 58, we've added a threshold-based option for voice communication - simply speak loud enough - and your audio will be communicated to others!

Added new ability to set mic as always-on (thanks /u/cruzjj !) Detect audio activity when mic always-on setting is used Allow user to set mic sensitivity; Use keypress to override mic sensitivity

We connected with some of the team at Enflux, who are very open and great to work with, and we're happy to announce an integration with the Enflux library which supports the shirt/pants kit on our Windows build. Bring on the future with virtual clubs where DJs and dancers have bodies tracked and live performances are brought into the Janus experience!

Check them out at https://www.getenflux.com/

New Reddit translator code (check out he new room coutesy of FireFoxG)

Added OSX support for PDFs

Improvements to colour support, allow setting alpha with R/F keys in edit mode - Colour support. Use CSS(3) or anything modern? Then beyond #rrggbb (and its variants) you may be familiar with functions like rgb/rgba/hsl/hsla to specify colour. Well as of release 58 Janus (the client/markup language) now support those as well! Cycling through hues is cool. It's ke-hue-wl.
Can now hold shift while pressing ctrl+V to copy orientation
Documentation has been updated and changed to reflect feedback from users including an updated and expanded FAQ

The Bugfixes

/u/NXT_Aussie suggested we try it this way - all the messages from git commits. I told him just give the highlights, he thinks it's riveting. "Aussie: nah your struggle amuses me - give me candy" haha! (If you want to watch the epic struggle in real time yourself http://builds.janusvr.com/log.txt )

bugfix crash on exit
bugfix do not cache mtl, bugfix for diffuse and websurface/image_id stuff
fixed pocketspace-linked F5 portal crash
bugfix upon disconnecting/reconnecting (can be triggered by userid change), clear last sent_enterroom_url so enter_room events get sent on subsequent
fix to restore progress loading through AssImp Geom class
Issue with colour and losing alpha component to zero, causing Room Templates not to render
only add RoomTemplates to RoomPhysics when mesh has completed loading
remove error loading color_hsl.mtl file
fix to resolve mtl files relative to room URL
fix look for external image files/textures relative to mtl path if specified
apply diffuse material setting when lighting is disabled
add plumbing so cubemap_radiance_id and cubemap_irradiance_id are JS read/writable attributes
fixed support for userid_pos on Ghosts
always assumes Geometry can be animatable
bugfix/hack, repair broken textures by looking one material index back and use its texture
small change that fixes custom lightmaps.
refactor Geom::CalculateFinalPoses() to make math for xforms more intelligible
fixed VBO generation and proper stride length, detecting animations/bones with meshes
case insensitivity when looking for .MTL extension loading files
allow mtl attribute override loading stuff with ASSIMP
do not allow invisible portals to be clicked on
make websurface cursor active on click for vive/touch
party mode and enter_room method being sent to server
fix for DOMNode::appendChild(), or in JS room.objects[X].appendChild(Y)
fixed crash when loading specific glTF files
encode with carat double quotes when sending Assets over network
fixed mirror portals, use active() instead
fix for random added portals when entering rooms that were previously visited
reduced default specular for AssetShader_Material
fixed teleport bug for Touch/Vive
bugfix do not add user-made portal with parent object
Geom::DrawMaterialGL() only submit draw call is GetIndexCount() > 0
Geom::DrawMaterialGL() pass vertex/index count, not number of floats when submitting draw to Renderer
bugfix windows GeomIOSystem::Open(), bugfix Touch controller laser does not disappear on release
remove RoomObject from RoomPhysics simulation if the collision_id is set to blank
bugfix release global button to stop speaking on controller 1
bugfix for traversing back through portals that have been crossed but were closed
fixed potential for slow mouse movement with gamepad enabled
fixed Diffuse material attribute making things dark when not lit
Back/forward history now work; endless loops when going back/forward should be fixed
bugfix cursor brightness, refactor cursor drawing into Game::DrawCursorGL()
bugfix fix Geom::GetTexturesReady() to return true when all textures are finished loading
bugfix for crashes (only updateanimations on linked Geoms), restore animations for multiplayers, only keep bone indexes for actual bones and not all transforms (max is 128)
bugfix Geom::Unload() proper deallocation to fix crashes

Apr 7, 2017
Janus VR - Aussie
Thank you to all the Steam users for the bug reports and suggestions for improving JanusVR.

Updated controls on Vive so index trigger is used as primary interact button instead of the trackpad button.

Updated controls on Vive so that trackpads perform translation and rotation.

Bugfix: websurfaces with an image_id set.

Bugfix: pocketspace screen when leaving, closing portal, and returning.

Bugfix: portals appearing pressing F5 in pocketspace.

Bugfix: do not save out global tutorial URL in room code .

Bugfix: drag and drop Sound elements from webpages .

Bugfix: in "2D" render mode, do not do comfort mode snap rotations.

New Feature: room.preventDefault() . Call this to suppress default interact/webspace functionality in the room.[onMouseDown/onMouseUp/onClick] functions if you need custom behaviour (note: experimental as we converge on optimal controls/UI).
Apr 7, 2017
Janus VR - Aussie
Release 57.1:

Bugfix: have websurfaces only make request with server once (instead of repeatedly polling until loaded)

Bugfix for Oculus Touch users and walking "sticking" after text

Bugfix: no more tooltips hanging around after clicking e.g. the pocketspace button in 2DUI with mouse

Improvements to virtual keyboard so it can be used two-handed

Minor bugfix to set tex_linear, etc for non-OBJ types

Bugfix: fixed avatar animation "jitter" bug, alternating between idle and jump animations

Middle click for drag+drop, drag and dropping of PDF files

Linux build now attempts to initialize/use OpenVR (until Vulkan support is ready - your mileage may vary!)

PDF support - Link to a PDF in an assetwebsurface to use

Search news
Jul   Jun   May   Apr   Mar   Feb  
Archives By Year
2018   2017   2016   2015   2014  
2013   2012   2011   2010   2009  
2008   2007   2006   2005   2004  
2003   2002