Highlights of this Release
There is now a »Remove« menu item if you open the context menu of a prototype in the Outline Editor, the menu item is sensitive when the prototype is not used in the scene. This enables you to remove prototypes one by one. The »Remove Unused Prototypes« function in the File menu, to quickly remove all unused prototypes, is still available.
There is a new menu item »Add Node« available within the Outline Editor. Select the menu item and a popover will appear, where you can type in the node type name you want to create. Auto competition makes it easy for you to select the desired node. The node can be create in the current scene or in the selected prototype.
This version comes with a fresh implementation of the TextureCoordinateGenerator node and we could make the VisibilitySensor more precise.
With this version we implement the FogCoordinate node. FogCoordinate nodes can also be edited, if the geometry node is an IndexedFaceSet, by using the Fog Coordinate Editor, which can be found at Geometry > Edit Fog Coordinates. To edit the fog depth, a geometry selection must be active, this can be done by using the Geometry Editor's edit button.
With this version we release the first version of the H-Anim component.
The Scene Properties Editor has now a tab where the profile and components of the scene can be edited. If you have no need to do that, there is a check button »Infer Profile and Components«. Your can acces the Scene Properties Editor under File > Properties. Titania also implements with this release the NURBS component, which is fully supported.
function foo (node)
print (node .translation) // direct access node's translation field for reading
node .translation = new SFVec3f (); // direct access node's translation field for writing
You must now set the Script nodes directOutput field to TRUE, either by changing the value in the Outline Editor or by toggling the Script Editor's directOutput button.
As with every version we are working towards to fix all bugs found. But not only bugs are fixed also some small improvements arise.
The first improvement is, that the browser tabs are displaying now a screenshot of the world as small icon next to the filename.
Also the Outline Editor has become some new features. Hovering a Material node's, Texture node's, or Text node's icon, will display a preview of the node. SFColor and SFColorRGBA fields will display its color as small circle next to the field name.
This version is mainly a bug fix release. With the help of our ambitious bug reporters we could fix loads of bugs, some of them critical. As new features we can say that the Outline Editor's selection handling is completely reworked, it has now a better handling of cloned nodes including a new context menu item »Create Clone« for nodes, it will create a clone of the node right next to them. Shortcut Keys will now work even when the Titania is in full-screen mode and the menu bar is hidden and also External Tools can now have shortcut keys. Menu options for Primitive Quality, Texture Quality, and Shading are now stored in the configuration file and restored on startup. The Render Panel Options window has now a new option to select the shading for rendering and we could implement for X_ITE mode the FLAT shading now.
DirectionalLight, SpotLight, and PointLight are now able to cast shadows. Let’s details them. A directional light is when light rays are parallel. A bit like when you look at the sun rays on the left. It mostly behaves like a light source very far from us. A spot light is when light rays seems to originate from a single point, and spreads outward in a coned direction, like in a dance club. To enable the shadow casting on a light, just adjust shadowIntensity of the light.
shadowColor 0 0 0
You can tune the shadowIntensity. It is the intensity of the shadow. 0 means no shadow, 1 means pure black shadow.
Leipzig, 24th May 2018: We finally released version 4.2.0. Thank's to Bullet physics engine we have implemented a lot of new nodes of the RigidBodyPhysics component. Not all nodes are complete but the documentation pages show you which field is supported. Most of the documentation pages of this component have a live example for this node.
The Sidebar has been reorganized and has now a new Projects Editor tab. Any folder can be added for quick access to your files. The tree view has a drag & drop feature. Also a context menu is implemented with useful menu items like »Open With ...« to open the files in an external application, copy, paste, move to trash, and the files can be imported into the current scene.
Next to the Layout menu item there is now a brand new »External Tools« menu item. This enables script authors to write their own tools to modify the whole scene or current selection. The external tools menu items can be rearranged using drag & drop to create a custom menu layout. A D-Bus interface to control Titania is in preparation which can be inspected with D-Feet.
If you create scenes for a web page your X3DCanvas tag has probably a fixed size but the Titania browser main widget not, now the browser size can be specified. Under Layout > Browser Size there is a new menu item, if when clicked a small window appears where the browser ratio can be specified. This feature can be toggled on/off. Second there is now a new node BlendMode where the WebGL blend modes can be specified for a node. The node is a X3DAppeareanceChild node and can be assigned to the corresponding Appearance field blendMode.
We have implemented the whole ParticleSystems component now as software implementation, ie. the ParticleSystems component is now available if the Ubuntu default graphics card driver Nouveau is enabled. This gives X3D authors the ability to create scenes with particle systems for X_ITE in Titania.
There is now support for the whole ParticleSystems component with the default graphics card driver Nouveau. NVIDIA was already longer supported but now there is a software implementation of this component.
Units handling is now fully implemented. Units can be edited in the Units Editor and can be accessed under File > Properties. Every field value is then displayed in the right unit. This affects the Outline Editor and the various other possibilities to edit a node. Additionally now all field values can be specified and are also saved in the right unit, for instance angles in degrees.
There are also some bug fixes and we could optimize X3DGroupingNode.removeChildren. It is now up to 20 % faster, especially if there are many children.
In this version there is now a new feature called »Multi View« available to view a scene from different viewpoints at the same time for editing. The scene can be viewed from top, left, right, front and perspective view. It can be easily switched between Multi View and Single View by pressing the Spacebar the active view becomes then maximized. The active view is now highlighted by a border in the selection color of your Gtk theme.
Route Graph Editor
Besides the Outline Editor which also has a route editing facility there is now a new Route Graph Editor included within Titania. Existing route graphs can be imported at once. A route can be created by clicking at a input or output connector, then the connectors that are not possible to route to disappear, and a click onto your desired connector creates the route. If your routing graph is greater than the visible area hold down the middle mouse button and drag move the area.
Much more better Prototype editing
Prototype editing comes now to a new level. In the Outline Editor nodes within a prototype can now be selected, rearranged by just drag & drop the node within the prototype, or from the scene to the prototype and vice versa. The Script Editor lets you edit scripts within the prototype now without switching into the prototype. The same feature is available in the Animation Editor. If you edit a prototype all instances are now updated automatically and the result can be seen in the browser panel.
In the Prototype Editor there are two new buttons available. One to convert a prototype into an extern proto and to fold an extern proto back into the scene.
Better Support for default Graphics Card Driver »Nouveau«
We spend a lot of time to optimize Titania for Nouveau. This means it is now not necessarily needed to install a different graphics card driver. The default shader creating time has been minimized and there is also MovieTexture support.
The selection of the geometry is reworked and now more intuitive. It is now possible to select one geometry and than another without leaving the geometry editing mode. Additionally it is now possible to change material and texture when in geometry editing mode. Editable geometry is the IndexedFaceSet node, all other geometry nodes are now visually highlighted, their polygons are displayed in dark blue. All primitive geometry nodes can be smashed with the »Hammer Button« into an editable IndexedFaceSet node. Copy & paste of faces does now work seamlessly between different IndexedFaceSet nodes regardless whether the node has negative scale or different ccw values and the »Transform Tool« of points, edges, and faces does now snap to the grid.
Height Map Expander
ElevationGrid nodes and GeoElevationGrid nodes come now with the ability to set an »Height Map« over the grid. Any black and white image can be used as height map. It is possible to modify the height even after the image is set.
Geometry can now be edited via the »Sculp Tool«. Different brushes exists like »Pull«, »Push«, »Roughten«, »Smooth«, and »Undo Brush«. The brush geometry can be adjusted as you need and saved in a palette for later use.
The »File Open Dialog« does now provide new file formats. Now, all X3D file formats are supported, even the brand new JSON format and VRML1, either compressed or uncompressed. Besides this Autodesk's 3DS file format, Alias Wavefront's OBJ format, SVG documents, and PDF documents are supported by now. JSON format is completely supported and it is not only possible to open JSON files but also JSON files can be saved.
Prior to this version Titania has come with some command line tools like x3dtidy. As of this version it only exists »titania« which includes now all other commands. Have a look at the titania man page to get more information about its use.